Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln migrerar du en Socket.IO chattapp till Azure med hjälp av Web PubSub för Socket.IO.
Viktigt!
Råa anslutningssträng visas endast i den här artikeln i demonstrationssyfte.
En reťazec pripojenia inkluderar den auktoriseringsinformation som din applikation behöver för att få tillgång till Azure Web PubSub-tjänsten. Accessnyckeln i reťazec pripojenia fungerar som ett root-lösenord för din tjänst. Skydda alltid dina åtkomstnycklar i produktionsmiljöer. Använd Azure Key Vault för att hantera och rotera dina nycklar på ett säkert sätt och skydda anslutningen med WebPubSubServiceClient.
Undvik att distribuera åtkomstnycklar till andra användare, hårdkoda dem eller spara dem var som helst i oformaterad text som är tillgänglig för andra. Rotera dina nycklar om du tror att de har komprometterats.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Om du inte har någon, kan du skapa ett kostnadsfritt konto.
- Viss kunskap om biblioteket Socket.IO.
Skapa en Web PubSub för Socket.IO resurs
Gå till Azure-portalen.
Sök efter socket.io och välj sedan Web PubSub för Socket.IO.
Välj en plan och välj sedan Skapa.
Migrera appen
För migreringsprocessen i den här guiden använder du en exempelchattapp som finns på Socket.IO:s webbplats. Du måste göra några mindre ändringar i både koden på serversidan och på klientsidan för att slutföra migreringen.
Serversidan
Leta upp
index.jsi koden på serversidan.@azure/web-pubsub-socket.ioLägg till paketet:npm install @azure/web-pubsub-socket.ioImportera paketet:
const { useAzureSocketIO } = require("@azure/web-pubsub-socket.io");Leta upp koden på serversidan där du skapade Socket.IO-servern och lägg till användAzureSocketIO(...):
Råa anslutningssträng visas endast i den här artikeln i demonstrationssyfte. Skydda alltid dina åtkomstnycklar i produktionsmiljöer. Använd Azure Key Vault för att hantera och rotera dina nycklar på ett säkert sätt och skydda anslutningen med
WebPubSubServiceClient.const io = require("socket.io")(); useAzureSocketIO(io, { hub: "eio_hub", // The hub name can be any valid string. connectionString: process.argv[2] });Viktigt!
Metoden
useAzureSocketIOär asynkron och utför initieringssteg för att ansluta till Web PubSub. Du kan användaawait useAzureSocketIO(...)eller användauseAzureSocketIO(...).then(...)för att se till att appservern börjar hantera begäranden när initieringen har slutförts.Om du använder följande server-API:er lägger du till
asyncinnan du använder dem eftersom de är asynkrona med Web PubSub för Socket.IO:Om det till exempel finns kod som den här:
io.on("connection", (socket) => { socket.join("room abc"); });Uppdatera den till:
io.on("connection", async (socket) => { await socket.join("room abc"); });Det här chattexemplet använder inte någon av dessa API:er. Så du behöver inte göra några ändringar.
Kundsidan
Hitta slutpunkten till resursen på Azure Portal.
Gå till
./public/main.jsi koden på klientsidan.Hitta var Socket.IO-klienten skapas. Ersätt dess slutpunkt med Socket.IO-slutpunkten i Azure och lägg till alternativet
path:const socket = io("<web-pubsub-for-socketio-endpoint>", { path: "/clients/socketio/hubs/eio_hub", });