Udostępnij za pośrednictwem


Jak ustanowić wiele sesji dla jednego klienta

Z tego przewodnika dowiesz się, jak ustanowić wiele sesji dla jednego klienta w przestrzeni nazw usługi Event Grid.

Wymagania wstępne

Obsługa wielu sesji

Aby utworzyć wiele sesji na klienta, podaj nazwę uwierzytelniania klienta we właściwości Nazwa użytkownika pakietu CONNECT. Następnie możesz podać identyfikator sesji we właściwości Client Identifier (ClientID) pakietu CONNECT.

  • Jeśli właściwość Username nie jest podana w pakiecie CONNECT, nie można utworzyć wielu sesji dla klienta.
  • Pole ClientID nie może być puste.
  • ClientID musi być unikatowy dla wszystkich klientów w przestrzeni nazw

Jeśli klient próbuje przejąć aktywną sesję innego klienta, przedstawiając jego nazwę sesji, żądanie połączenia zostanie odrzucone z powodu nieautoryzowanego błędu. Jeśli na przykład klient B próbuje nawiązać połączenie z sesją 123 przypisaną w tym czasie do klienta A, żądanie połączenia klienta B zostanie odrzucone.

Jeśli klient zostanie odłączony bez zakończenia sesji, inni klienci nie będą mogli używać nazwy sesji do momentu wygaśnięcia sesji. Jeśli na przykład klient A tworzy sesję o nazwie 123, klient A jest odłączony, klient B nie może nawiązać połączenia z sesją 123 do czasu wygaśnięcia oryginalnej sesji.

Konfiguracja CONNECT W pakiecie MQTT CONNECT dołącz nazwę uwierzytelniania klienta w polu Nazwa użytkownika, co oznacza tożsamość klienta. Oto przykład metadanych klienta o nazwie uwierzytelniania klienta "ipv4=127.0.0.1".

Screenshot showing the client configuration with client authentication name information highlighted.

Teraz podczas łączenia klienta z przestrzenią nazw można użyć pola identyfikatora klienta w pakiecie MQTT CONNECT jako identyfikator sesji.

Na przykład na podstawie konfiguracji klienta można wysłać dwa pakiety CONNECT z wartościami pól z tego samego klienta:

Przykładowa konfiguracja połączenia jest widoczna przy użyciu aplikacji MQTTX.

Pierwszy pakiet połączenia:

  • nazwa użytkownika: "ipv4=127.0.0.1"
  • clientId: "sessionId1"

Screenshot showing the MQTTX application client configuration with first session.

Drugi pakiet połączenia:

  • nazwa użytkownika: "ipv4=127.0.0.1"
  • clientId: "sessionId2"

creenshot showing the MQTTX application client configuration with second session.

Aby uwierzytelnić obie sesje, można użyć tych samych poświadczeń certyfikatu klienta.