Résolution des problèmes liés à l'échec de connexion de votre client MQTT
Si votre client MQTT ne peut pas se connecter à un canal de télémétrie, il peut y avoir plusieurs raisons à cela.
Procédure
Tenez compte des raisons suivantes pour diagnostiquer le problème dans le cas d'un client MQTT qui ne parvient pas à se connecter :
- Vérifiez que le gestionnaire de files d'attente et le service de télémétrie (MQXR) sont en cours d'exécution.
Démarrez le gestionnaire de files d'attente. Par défaut, le service MQXR doit démarrer avec le gestionnaire de files d'attente. Si vous avez configuré le contrôle de service MQXR de façon à démarrer manuellement, vous devez démarrer le service à partir du dossier Services. Pour plus d'informations concernant le démarrage du service MQXR, reporte-vous à Démarrage et arrêt du service MQXR.
- Vérifiez que le canal de télémétrie et le service de télémétrie (MQXR) sont définis et s'exécutent correctement.
Vous pouvez manuellement définir le service MQXR et définir la file d'attente de transmission par défaut du gestionnaire de files d'attente à la valeur
SYSTEM.MQTT.TRANSMIT.QUEUE
, pour remplacer une file d'attente de transmission par défaut existante. Le gestionnaire de files d'attente est alors approprié pour la télémétrie. Vous pouvez également envisager d'exécuter l'assistant Définition du modèle de configuration à partir de la page de bienvenue dans la télémétrie, si vous ne l'avez pas encore fait. - Avez-vous écrit votre propre client ?
Si tel est le cas, avez-vous écrit votre application client avec le protocole MQTT v3 et non le protocole v5 ? Tentez d'identifier le problème en exécutant l'utilitaire client MQTT.
- Disposez-vous d'un nom d'identificateur client valide ?
Lors de la connexion à IBM® MQ, l'identificateur du client MQTT doit comporter moins de 23 caractères et contenir uniquement des caractères alphabétiques, des caractères numériques et le point (.), la barre oblique (/), le trait de soulignement (_) et le signe de pourcentage (%).
- Avez-vous connecté votre client MQTT et atteint l'intervalle du Signal de présence MQTT ?
L'attribut de signal de présence est un intervalle en millisecondes au terme duquel le client MQTT est déconnecté pour cause d'inactivité. Si le service MQXR ne reçoit aucune communication du client, dans l'intervalle du signal de présence, il se déconnecte du client.
- Est-ce qu'un grand nombre de clients MQTT tentent de se connecter
à un canal de télémétrie simultanément ?
Chaque canal de télémétrie dispose d'un attribut de file de connexion. Il s'agit du nombre maximal de demandes de connexion simultanée prises en charge par le canal de télémétrie. Assurez-vous que la valeur définie n'est pas inférieure au nombre de clients MQTT qui tentent de se connecter.
- Vérifiez que la connexion TCP/IP est encore active.