Problémák megoldása, ha az MQTT ügyfél nem csatlakozik
Annak, hogy az MQTT ügyfél nem tud csatlakozni egy telemetriacsatornához, számos oka lehet.
Eljárás
A nem csatlakozó MQTT ügyfél problémájának diagnosztizálásához gondolja végig a következőket:
- Ellenőrizze, hogy a sorkezelő és a telemetria (MQXR) szolgáltatás
fut-e.
Indítsa el a sorkezelőt. Alapértelmezés szerint az MQXR szolgáltatásnak a sorkezelővel együtt el kell indulnia. Ha az MQXR szolgáltatást kézi indításra állította be, akkor lehetséges, hogy el kell indítania a szolgáltatást a Szolgáltatások mappából. Az MQXR szolgáltatás indításával kapcsolatos további információkért tekintse meg a következő szakaszt: Az MQXR szolgáltatás elindítása és leállítása.
- Győződjön meg róla, hogy a telemetriacsatorna és telemetria (MQXR) szolgáltatás
helyesen van meghatározva és fut.
Az MQXR szolgáltatást kézzel határozhatja meg, és beállíthatja a sorkezelő alapértelmezett átviteli sorát a
SYSTEM.MQTT.TRANSMIT.QUEUE
sorra, ami előnyt élvez egy meglévő alapértelmezett átviteli sorral szemben. Ez alkalmassá teszi a sorkezelőt a telemetriához. Ennek alternatívájaként megfontolhatja a Mintakonfiguráció meghatározása varázsló futtatását a Telemetria üdvözlő oldalról, ha még nem tette volna meg. - Saját ügyfélalkalmazást írt?
Ha igen, akkor az ügyfélalkalmazást biztosan az MQTT v3 protokollal írta meg és nem a v5 protokollal? Próbálja meg elkülöníteni a problémát az MQTT ügyfélsegédprogram futtatásával.
- Az ügyfélazonosító neve érvényes?
Amikor csatlakozik a IBM® MQ alkalmazáshoz, az MQTT ügyfélazonosítónak 23 karakternél rövidebbnek kell lennie, és csak betűket, számokat, pontot (.), osztásjelet (/), aláhúzást (_) és százalékjelet (%) tartalmazhat.
- Csatlakozott az MQTT ügyfélhez és kimerítette az MQTT
kapcsolatfenntartás időtartamot?
A kapcsolattartás attribútum ezredmásodpercekben megadja azt az időtartamot, ami után az MQTT ügyfél kapcsolata inaktivitás miatt bontva lesz. Ha az MQXR szolgáltatáshoz nem érkezik kommunikáció az ügyféltől a megadott kapcsolatfenntartási időtartamon belül, akkor bontja a kapcsolatot az ügyféllel.
- Sok MQTT ügyfél próbál csatlakozni egyidejűleg egyazon
telemetriacsatornához?
Minden telemetriacsatornának van egy backlog (lemaradás) attribútuma. Ez megadja a párhuzamos csatlakozási kérések számát, amelyet a telemetriacsatorna támogat. Győződjön meg róla, hogy az érték nem egy olyan számra van beállítva, amely kisebb, mint a csatlakozni próbáló MQTT ügyfelek száma.
- Ellenőrizze, hogy a TCP/IP kapcsolat működik-e még.