Compartilhar via


Início Rápido: Incorporar o Web PubSub para Socket.IO em seu aplicativo

Este início rápido demonstra como criar um recurso do Web PubSub para Socket.IO e incorporá-lo rapidamente em seu aplicativo Socket.IO para simplificar o desenvolvimento, acelerar a implantação e alcançar a escalabilidade sem complexidade.

O código mostrado neste início rápido está no CommonJS. Se você quiser usar um módulo ECMAScript, consulte a demonstração de chat para Socket.IO com o Azure Web PubSub.

Importante

As cadeias de conexão brutas aparecem neste artigo somente para fins de demonstração.

Uma cadeia de conexão inclui as informações de autorização necessárias para que o seu aplicativo acesse o serviço Azure Web PubSub. A chave de acesso dentro da cadeia de conexão é semelhante a uma senha raiz para o serviço. Em ambientes de produção, sempre proteja suas chaves de acesso. Use o Azure Key Vault para gerenciar e girar suas chaves com segurança e proteger sua conexão com WebPubSubServiceClient.

Evite distribuir chaves de acesso para outros usuários, fazer hard-coding com elas ou salvá-las em qualquer lugar em texto sem formatação que seja acessível a outras pessoas. Gire suas chaves se você acredita que elas podem ter sido comprometidas.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Se você não tiver uma, poderá criar uma conta gratuita.
  • Alguma familiaridade com a biblioteca de Socket.IO.

Criar um recurso Web PubSub no Socket.IO

Para criar um Web PubSub para Socket.IO, você pode usar o botão de um clique a seguir para criar ou seguir as ações abaixo para pesquisar no portal do Azure.

  • Use o botão a seguir para criar um recurso do Web PubSub para Socket.IO no Azure

    Implantar no Azure

  • Pesquisar na barra de pesquisa do portal do Azure

    1. Acesse o portal do Azure.

    2. Pesquise socket.io, na barra de pesquisa e selecione Web PubSub para Socket.IO.

      Captura de tela da pesquisa no serviço Web PubSub para Socket.IO no portal do Azure.

  • Pesquisar no Marketplace

    1. Acesse o portal do Azure.

    2. Selecione o botão Criar um recurso localizado no canto superior esquerdo do portal do Azure. Digite socket.io na caixa de pesquisa e pressione enter. SelecioneWeb PubSub para Socket.IO no resultado da pesquisa.

      Captura de tela do serviço Web PubSub for Socket.IO no marketplace.

    3. Clique em Criar na página pop-out.

      Captura de tela do serviço Web PubSub para Socket.IO no portal do Azure.

Como enviar mensagens com bibliotecas Socket.IO e Web PubSub para Socket.IO

Nas etapas a seguir, você cria um projeto Socket.IO e integra-se ao Web PubSub para Socket.IO.

Inicializar um projeto do Nó e instalar pacotes necessários

mkdir quickstart
cd quickstart
npm init
npm install @azure/web-pubsub-socket.io socket.io-client

Escrever código do servidor

Crie um arquivo server.js e adicione o código a seguir para criar um servidor Socket.IO e integrar-se ao Web PubSub para Socket.IO.

As cadeias de conexão brutas aparecem neste artigo somente para fins de demonstração. Em ambientes de produção, sempre proteja suas chaves de acesso. Use o Azure Key Vault para gerenciar e girar suas chaves com segurança e proteger sua conexão com WebPubSubServiceClient.

/*server.js*/
const { Server } = require("socket.io");
const { useAzureSocketIO } = require("@azure/web-pubsub-socket.io");

let io = new Server(3000);

// Use the following line to integrate with Web PubSub for Socket.IO
useAzureSocketIO(io, {
    hub: "Hub", // The hub name can be any valid string.
    connectionString: process.argv[2]
});

io.on("connection", (socket) => {
    // Sends a message to the client
    socket.emit("hello", "world");

    // Receives a message from the client
    socket.on("howdy", (arg) => {
        console.log(arg);   // Prints "stranger"
    })
});

Escrever código do cliente

Crie um arquivo client.js e adicione o código a seguir para conectar o cliente ao Web PubSub para Socket.IO.

/*client.js*/
const io = require("socket.io-client");

const socket = io("<web-pubsub-socketio-endpoint>", {
    path: "/clients/socketio/hubs/Hub",
});

// Receives a message from the server
socket.on("hello", (arg) => {
    console.log(arg);
});

// Sends a message to the server
socket.emit("howdy", "stranger")

Quando você usa o Web PubSub para Socket.IO, <web-pubsub-socketio-endpoint> e path são necessários para que o cliente se conecte ao serviço. <web-pubsub-socketio-endpoint> e path podem ser encontrados no portal do Azure.

  1. Vá para a folha de chaves do Web PubSub para Socket.IO

  2. Digite o nome do hub e copie o Ponto de Extremidade do Cliente e o Caminho do Cliente

    Captura de tela do serviço Web PubSub para Socket.IO na folha pontos de extremidade do cliente do portal do Azure.

Executar o aplicativo

  1. Execute o aplicativo do servidor:

    node server.js "<connection-string>"
    

    <connection-string> é a cadeia de conexão que contém o ponto de extremidade e as chaves para acessar seu recurso do Web PubSub para Socket.IO. Você também pode encontrar a cadeia de conexão no portal do Azure

    Captura de tela do serviço Web PubSub para Socket.IO na folha de cadeia de conexão do portal do Azure.

  2. Execute o aplicativo cliente em outro terminal:

    node client.js