Rozwiązywanie problemów, gdy nie powiedzie się nawiązanie połączenia przez klient MQTT
Powodów, dla których klient MQTT nie możne nawiązać połączenia z kanałem pomiarowym, może być kilka.
Procedura
Należy wziąć pod uwagę następujące przyczyny w celu zdiagnozowania problemu z nawiązaniem połączenia przez klient MQTT:
- Sprawdź, czy menedżer kolejek i usługa telemetryczna (MQXR) działają.
Uruchom menedżer kolejek. Usługa MQXR powinna zostać uruchomiona domyślnie wraz z menedżerem kolejek. Jeśli parametr sterujący usługi MQXR skonfigurowano w celu uruchamiania ręcznego, konieczne może się okazać uruchomienie usługi z folderu Usługi. Więcej informacji na temat uruchamiania usługi MQXR zawiera sekcja Uruchamianie i zatrzymywanie usługi MQXR.
- Sprawdź, czy kanał pomiarowy i usługa telemetryczna (MQXR) zostały
zdefiniowane i czy działają poprawnie.
Usługę MQXR można zdefiniować ręcznie i jako domyślną kolejkę wyjściową menedżera kolejek ustawić
SYSTEM.MQTT.TRANSMIT.QUEUE
, która poprzedza istniejącą domyślną kolejkę wyjściową. Dzięki temu menedżer kolejek będzie odpowiedni dla składnika Telemetry. Można także wziąć pod uwagę uruchomienie kreatora Definiowanie przykładowej konfiguracji ze strony powitania składnika Telemetry, jeśli jeszcze nie został uruchomiony. - Czy został napisany własny klient?
Jeśli tak, czy aplikacja kliencka została napisana zgodnie z protokołem MQTT w wersji 3, a nie z protokołem wersji 5? Spróbuj zlokalizować problem, uruchamiając program narzędziowy klienta MQTT.
- Czy nazwa identyfikatora klienta jest poprawna?
W przypadku nawiązywania połączenia z produktem IBM® MQ identyfikator klienta MQTT powinien zawierać mniej niż 23 znaki, w tym tylko litery, cyfry oraz znak kropki (.), ukośnik (/), znak podkreślenia (_) i znak procentu (%).
- Czy klient MQTT został połączony i wykorzystano interwał
Sprawdzanie połączenia MQTT?
Atrybut sprawdzania połączenia to interwał w milisekundach, po upływie którego klient MQTT zostanie rozłączony z powodu nieaktywności. Jeśli usługa MQXR nie odbierze żadnych komunikatów od klienta w interwale sprawdzania połączenia, zostanie odłączona od klienta.
- Czy duża liczba klientów MQTT próbuje jednocześnie nawiązać połączenie z
kanałem pomiarowym?
Każdy kanał pomiarowy ma atrybut dziennik. Jest to liczba żądań współbieżnych połączeń obsługiwanych przez kanał pomiarowy. Upewnij się, że nie ustawiono liczby, która jest niższa niż liczba klientów MQTT próbujących nawiązać połączenie.
- Sprawdź, czy połączenie TCP/IP jest nadal aktywne.