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.