Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku migrujete chatovací aplikaci Socket.IO do Azure pomocí web PubSub pro Socket.IO.
Důležité
Nezpracované připojovací řetězec se v tomto článku zobrazují jenom pro demonstrační účely.
Připojovací řetězec obsahuje informace o autorizaci vyžadované pro vaši aplikaci pro přístup ke službě Azure Web PubSub. Přístupový klíč uvnitř připojovací řetězec je podobný kořenovému heslu pro vaši službu. V produkčních prostředích vždy chraňte přístupové klíče. Pomocí služby Azure Key Vault můžete bezpečně spravovat a obměňovat klíče a zabezpečit připojení WebPubSubServiceClient.
Vyhněte se distribuci přístupových klíčů ostatním uživatelům, jejich pevnému kódování nebo jejich uložení kdekoli ve formátu prostého textu, který je přístupný ostatním uživatelům. Otočte klíče, pokud se domníváte, že mohly být ohroženy.
Požadavky
- Účet Azure s aktivním předplatným. Pokud žádné nemáte, můžete si vytvořit bezplatný účet.
- Znalost knihovny Socket.IO
Vytvoření webového pubSub pro prostředek Socket.IO
Přejděte na Azure Portal.
Vyhledejte socket.io a pak vyberte Web PubSub pro Socket.IO.
Vyberte plán a pak vyberte Vytvořit.
Migrace aplikace
Pro proces migrace v této příručce použijete ukázkovou chatovací aplikaci poskytnutou na webu Socket.IO. K dokončení migrace je potřeba provést několik menších změn kódu na straně serveru i na straně klienta.
Na straně serveru
Vyhledejte
index.jskód na straně serveru.@azure/web-pubsub-socket.ioPřidejte balíček:npm install @azure/web-pubsub-socket.ioImport balíčku:
const { useAzureSocketIO } = require("@azure/web-pubsub-socket.io");Vyhledejte kód na straně serveru, kde jste vytvořili Socket.IO server, a připojte useAzureSocketIO(...):
Nezpracované připojovací řetězec se v tomto článku zobrazují jenom pro demonstrační účely. V produkčních prostředích vždy chraňte přístupové klíče. Pomocí služby Azure Key Vault můžete bezpečně spravovat a obměňovat klíče a zabezpečit připojení
WebPubSubServiceClient.const io = require("socket.io")(); useAzureSocketIO(io, { hub: "eio_hub", // The hub name can be any valid string. connectionString: process.argv[2] });Důležité
Metoda
useAzureSocketIOje asynchronní a provádí kroky inicializace pro připojení k Web PubSub. Můžete použítawait useAzureSocketIO(...)nebo použítuseAzureSocketIO(...).then(...)k ověření, že aplikační server začne obsluhovat požadavky po úspěšném inicializaci.Pokud používáte následující rozhraní API serveru, přidejte
asyncje před jejich použitím, protože jsou asynchronní s web pubSub pro Socket.IO:Pokud je například kód podobný tomuto:
io.on("connection", (socket) => { socket.join("room abc"); });Aktualizujte ho na:
io.on("connection", async (socket) => { await socket.join("room abc"); });Tento příklad chatu nepoužívá žádná z těchto rozhraní API. Takže nemusíte provádět žádné změny.
Na straně klienta
Na webu Azure Portal najděte koncový bod vašeho prostředku.
Přejděte do
./public/main.jskódu na straně klienta.Vyhledejte, kde se vytvoří Socket.IO klient. Nahraďte jeho koncový bod koncovým bodem Socket.IO v Azure a přidejte
pathmožnost:const socket = io("<web-pubsub-for-socketio-endpoint>", { path: "/clients/socketio/hubs/eio_hub", });