Udostępnij za pośrednictwem


Szybki start: dołączanie usługi Web PubSub do Socket.IO w aplikacji

W tym przewodniku Szybki start pokazano, jak utworzyć zasób usługi Web PubSub dla Socket.IO zasobów i szybko wdrożyć go w aplikacji Socket.IO, aby uprościć programowanie, przyspieszyć wdrażanie i osiągnąć skalowalność bez złożoności.

Kod pokazany w tym przewodniku Szybki start jest w usłudze CommonJS. Jeśli chcesz użyć modułu ECMAScript, zobacz pokaz czatu dla Socket.IO z usługą Azure Web PubSub.

Ważne

Nieprzetworzone parametry połączenia są wyświetlane tylko w tym artykule w celach demonstracyjnych.

Parametry połączenia zawiera informacje o autoryzacji wymagane przez aplikację w celu uzyskania dostępu do usługi Azure Web PubSub. Klucz dostępu wewnątrz parametry połączenia jest podobny do hasła głównego usługi. W środowiskach produkcyjnych zawsze chroń klucze dostępu. Użyj usługi Azure Key Vault, aby bezpiecznie zarządzać kluczami i obracać je oraz zabezpieczać połączenie za pomocą usługi WebPubSubServiceClient.

Unikaj dystrybuowania kluczy dostępu do innych użytkowników, kodowania ich lub zapisywania ich w dowolnym miejscu w postaci zwykłego tekstu, który jest dostępny dla innych użytkowników. Obracanie kluczy, jeśli uważasz, że mogły one zostać naruszone.

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Jeśli nie masz, możesz utworzyć bezpłatne konto.
  • Znajomość biblioteki Socket.IO.

Tworzenie usługi Web PubSub dla zasobu Socket.IO

Aby utworzyć web pubSub dla Socket.IO, możesz użyć następującego przycisku jednym kliknięciem, aby utworzyć lub wykonać poniższe akcje, aby wyszukać w witrynie Azure Portal.

  • Użyj następującego przycisku, aby utworzyć internetowy składnik PubSub dla zasobu Socket.IO na platformie Azure

    Wdróż na platformie Azure

  • Wyszukiwanie na pasku wyszukiwania w witrynie Azure Portal

    1. Przejdź do portalu Azure Portal.

    2. Wyszukaj socket.io na pasku wyszukiwania, a następnie wybierz pozycję Web PubSub dla Socket.IO.

      Zrzut ekranu przedstawiający wyszukiwanie usługi Web PubSub pod kątem usługi Socket.IO w witrynie Azure Portal.

  • Wyszukiwanie w witrynie Marketplace

    1. Przejdź do portalu Azure Portal.

    2. Wybierz przycisk Utwórz zasób znajdujący się w lewym górnym rogu witryny Azure Portal. Wpisz socket.io w polu wyszukiwania i naciśnij Enter. Wybierz pozycję Web PubSub dla Socket.IO w wynikach wyszukiwania.

      Zrzut ekranu przedstawiający usługę Web PubSub dla usługi Socket.IO w witrynie Marketplace.

    3. Kliknij pozycję Utwórz na stronie podręcznej.

      Zrzut ekranu przedstawiający usługę Web PubSub dla usługi Socket.IO w witrynie Azure Portal.

Wysyłanie komunikatów za pomocą bibliotek Socket.IO i web pubSub dla Socket.IO

W poniższych krokach utworzysz projekt Socket.IO i zintegrujesz się z usługą Web PubSub dla Socket.IO.

Inicjowanie projektu Node i instalowanie wymaganych pakietów

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

Pisanie kodu serwera

server.js Utwórz plik i dodaj następujący kod, aby utworzyć serwer Socket.IO i zintegrować go z usługą Web PubSub dla Socket.IO.

Nieprzetworzone parametry połączenia są wyświetlane tylko w tym artykule w celach demonstracyjnych. W środowiskach produkcyjnych zawsze chroń klucze dostępu. Użyj usługi Azure Key Vault, aby bezpiecznie zarządzać kluczami i obracać je oraz zabezpieczać połączenie za pomocą usługi 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"
    })
});

Pisanie kodu klienta

client.js Utwórz plik i dodaj następujący kod, aby połączyć klienta z usługą Web PubSub dla 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")

W przypadku używania usługi Web PubSub dla Socket.IO <web-pubsub-socketio-endpoint> i path wymagane jest, aby klient nawiązał połączenie z usługą. Element <web-pubsub-socketio-endpoint> i path można znaleźć w witrynie Azure Portal.

  1. Przejdź do bloku klucza usługi Web PubSub dla Socket.IO

  2. Wpisz nazwę centrum i skopiuj punkt końcowy klienta i ścieżkę klienta

    Zrzut ekranu przedstawiający usługę Web PubSub dla usługi Socket.IO w bloku punktów końcowych klienta witryny Azure Portal.

Uruchom aplikację

  1. Uruchom aplikację serwera:

    node server.js "<connection-string>"
    

    Jest <connection-string> to parametry połączenia, który zawiera punkt końcowy i klucze umożliwiające uzyskanie dostępu do usługi Web PubSub dla zasobu Socket.IO. Parametry połączenia można również znaleźć w witrynie Azure Portal

    Zrzut ekranu przedstawiający usługę Web PubSub dla usługi Socket.IO w bloku parametry połączenia witryny Azure Portal.

  2. Uruchom aplikację kliencka w innym terminalu:

    node client.js