Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel migreert u een Socket.IO chat-app naar Azure met behulp van Web PubSub voor Socket.IO.
Belangrijk
Ruwe verbindingsstrings worden in dit artikel alleen weergegeven voor demonstratiedoeleinden.
Een verbindingsreeks bevat de autorisatie-informatie die je applicatie nodig heeft om toegang te krijgen tot de Azure Web PubSub-service. De toegangssleutel in de verbindingsreeks fungeert als een rootwachtwoord voor je dienst. Beveilig uw toegangssleutels altijd in productieomgevingen. Gebruik Azure Key Vault om uw sleutels veilig te beheren en te roteren en uw verbinding te beveiligen.WebPubSubServiceClient
Vermijd het distribueren van toegangssleutels naar andere gebruikers, het coderen ervan of het opslaan van ze ergens in tekst zonder opmaak die toegankelijk is voor anderen. Draai uw sleutels als u denkt dat ze mogelijk zijn aangetast.
Vereisten
- Een Azure-account met een actief abonnement. Als u nog geen account hebt, kunt u een gratis account aanmaken.
- Enige bekendheid met de Socket.IO-bibliotheek.
Een Web PubSub maken voor Socket.IO-resource
Ga naar de Azure Portal.
Zoek socket.io en selecteer vervolgens Web PubSub voor Socket.IO.
Selecteer een plan en selecteer vervolgens Maken.
De app migreren
Voor het migratieproces in deze handleiding gebruikt u een voorbeeld-chat-app op de website van Socket.IO. U moet enkele kleine wijzigingen aanbrengen in zowel de code aan de serverzijde als de clientzijde om de migratie te voltooien.
Serverzijde
Zoek
index.jsin de server-sidecode.Voeg het
@azure/web-pubsub-socket.iopakket toe:npm install @azure/web-pubsub-socket.ioImporteer het pakket:
const { useAzureSocketIO } = require("@azure/web-pubsub-socket.io");Zoek in de code aan de serverzijde waar u de Socket.IO-server hebt gemaakt en voeg useAzureSocketIO(...) toe:
Ruwe verbindingsstrings worden in dit artikel alleen weergegeven voor demonstratiedoeleinden. Beveilig uw toegangssleutels altijd in productieomgevingen. Gebruik Azure Key Vault om uw sleutels veilig te beheren en te roteren en uw verbinding te beveiligen.
WebPubSubServiceClientconst io = require("socket.io")(); useAzureSocketIO(io, { hub: "eio_hub", // The hub name can be any valid string. connectionString: process.argv[2] });Belangrijk
De
useAzureSocketIOmethode is asynchroon en voert initialisatiestappen uit om verbinding te maken met Web PubSub. U kuntawait useAzureSocketIO(...)gebruiken ofuseAzureSocketIO(...).then(...)gebruiken om ervoor te zorgen dat uw app-server verzoeken begint te verwerken nadat de initialisatie is geslaagd.Als u de volgende server-API's gebruikt, voegt u deze toe
asyncvoordat u ze gebruikt, omdat deze asynchroon zijn met Web PubSub voor Socket.IO:Als er bijvoorbeeld code als volgt is:
io.on("connection", (socket) => { socket.join("room abc"); });Werk deze bij naar:
io.on("connection", async (socket) => { await socket.join("room abc"); });In dit chatvoorbeeld wordt geen van deze API's gebruikt. U hoeft dus geen wijzigingen aan te brengen.
Clientzijde
Zoek het eindpunt naar uw resource in Azure Portal.
Ga naar
./public/main.jsin de code aan de clientzijde.Zoek waar de Socket.IO-client wordt gemaakt. Vervang het eindpunt door het Socket.IO-eindpunt in Azure en voeg een
pathoptie toe:const socket = io("<web-pubsub-for-socketio-endpoint>", { path: "/clients/socketio/hubs/eio_hub", });