Jak vytvořit více relací pro jednoho klienta
V této příručce se dozvíte, jak vytvořit více relací pro jednoho klienta do oboru názvů Event Gridu.
Požadavky
- Máte vytvořený obor názvů Event Gridu. Projděte si tento rychlý start – Publikování a přihlášení k odběru tématu MQTT za účelem vytvoření oboru názvů, dílčích zdrojů a publikování nebo přihlášení k odběru tématu.
Podpora více relací
Pokud chcete vytvořit více relací na klienta, zadejte název ověřování klienta ve vlastnosti Uživatelské jméno paketu CONNECT. Id relace pak můžete zadat ve vlastnosti Client Identifier (ClientID) paketu CONNECT.
- Pokud vlastnost Uživatelské jméno není součástí paketu CONNECT, nemůžete pro klienta vytvořit více relací.
- Pole CLIENTID nemůže být prázdné.
- Id klienta musí být jedinečné pro všechny klienty v oboru názvů.
Pokud se klient pokusí převzít aktivní relaci jiného klienta tak, že předá název relace, žádost o připojení se odmítne s chybou neautorizováno. Pokud se například klient B pokusí připojit k relaci 123, která je přiřazena v tuto chvíli klientovi A, žádost o připojení klienta B se odmítne.
Pokud je klient odpojen bez ukončení relace, ostatní klienti nemůžou použít název relace, dokud nevyprší platnost relace. Pokud například klient A vytvoří relaci s názvem relace 123, klient A se odpojí, klient B se nemůže připojit k relaci 123, dokud nevyprší platnost původní relace.
Konfigurace CONNECT v paketu MQTT CONNECT zahrňte do pole Uživatelské jméno název ověřování klienta, který označuje identitu klienta. Tady je příklad metadat klienta s názvem ověřování klienta ipv4=127.0.0.1.
Při připojování klienta k oboru názvů teď můžete jako identifikátor relace použít pole identifikátoru klienta v paketu MQTT CONNECT.
Například na základě konfigurace klienta můžete odeslat dva pakety CONNECT s hodnotami polí ze stejného klienta:
Ukázkové nastavení připojení můžete zobrazit pomocí aplikace MQTTX.
První připojení paketu:
- uživatelské jméno: "ipv4=127.0.0.1"
- clientId: "sessionId1"
Druhý connect paket:
- uživatelské jméno: "ipv4=127.0.0.1"
- clientId: "sessionId2"
K ověření obou relací můžete použít stejné přihlašovací údaje klientského certifikátu.