Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste artigo, você migra um aplicativo de bate-papo Socket.IO para o Azure usando o Web PubSub para Socket.IO.
Importante
As cadeias de conexão brutas aparecem neste artigo apenas para fins de demonstração.
Uma cadeia de conexão inclui as informações de autorização necessárias para seu aplicativo acessar o serviço Azure Web PubSub. A chave de acesso dentro da cadeia de conexão é semelhante a uma senha de root para o seu serviço. Em ambientes de produção, proteja sempre as suas chaves de acesso. Use o Azure Key Vault para gerenciar e girar suas chaves com segurança e proteger sua conexão com WebPubSubServiceCliento .
Evite distribuir chaves de acesso para outros usuários, codificá-las ou salvá-las em qualquer lugar em texto simples acessível a outras pessoas. Rode as chaves se acreditar que podem ter sido comprometidas.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Se não tiver uma, poderá criar uma conta gratuita.
- Alguma familiaridade com a biblioteca Socket.IO.
Criar um Web PubSub para Socket.IO recurso
Aceda ao portal do Azure.
Procure socket.io e, em seguida, selecione Web PubSub para Socket.IO.
Selecione um plano e, em seguida, selecione Criar.
Migrar o aplicativo
Para o processo de migração neste guia, você usa um aplicativo de chat de exemplo fornecido no site do Socket.IO. Você precisa fazer algumas pequenas alterações no código do lado do servidor e do lado do cliente para concluir a migração.
Lado do servidor
Localize
index.jsno código do lado do servidor.Adicione o
@azure/web-pubsub-socket.iopacote:npm install @azure/web-pubsub-socket.ioImporte o pacote:
const { useAzureSocketIO } = require("@azure/web-pubsub-socket.io");Localize no código do lado do servidor onde você criou o servidor Socket.IO e acrescente useAzureSocketIO(...):
As cadeias de conexão brutas aparecem neste artigo apenas para fins de demonstração. Em ambientes de produção, proteja sempre as suas chaves de acesso. Use o Azure Key Vault para gerenciar e girar suas chaves com segurança e proteger sua conexão com
WebPubSubServiceCliento .const io = require("socket.io")(); useAzureSocketIO(io, { hub: "eio_hub", // The hub name can be any valid string. connectionString: process.argv[2] });Importante
O
useAzureSocketIOmétodo é assíncrono e executa etapas de inicialização para se conectar ao Web PubSub. Você pode usarawait useAzureSocketIO(...)ou usaruseAzureSocketIO(...).then(...)para garantir que seu servidor de aplicativos comece a atender solicitações depois que a inicialização for bem-sucedida.Se você usar as seguintes APIs de servidor, adicione
asyncantes de usá-las, porque elas são assíncronas com o Web PubSub para Socket.IO:Por exemplo, se houver um código como este:
io.on("connection", (socket) => { socket.join("room abc"); });Atualize-o para:
io.on("connection", async (socket) => { await socket.join("room abc"); });Este exemplo de chat não usa nenhuma dessas APIs. Portanto, você não precisa fazer nenhuma alteração.
Lado do cliente
Encontre o ponto de extremidade do seu recurso no portal do Azure.
Vá para
./public/main.jsno código do lado do cliente.Encontre onde o cliente Socket.IO é criado. Substitua seu ponto de extremidade pelo ponto de extremidade Socket.IO no Azure e adicione uma
pathopção:const socket = io("<web-pubsub-for-socketio-endpoint>", { path: "/clients/socketio/hubs/eio_hub", });