Resolvendo problemas se o cliente MQTT falha ao conectar-se
Se o cliente MQTT não puder conectar-se a um canal de telemetria, pode existir um número de razões.
Procedimento
Considere as seguintes razões para diagnosticar o problema com um cliente MQTT que falha ao conectar-se:
- Verifique se o gerenciador de filas e o serviço de telemetria (MQXR) estão
em execução.
Inicie o gerenciador de filas. Por padrão, o serviço MQXR deve iniciar com o gerenciador de filas. Se você configurou o controle de serviço MQXR para ser iniciado manualmente, você pode ter de iniciar o serviço a partir da pasta Serviços. Para obter mais informações sobre como iniciar o serviço MQXR, consulte Iniciando e Parando o Serviço MQXR.
- Verifique se o canal de telemetria e o serviço de telemetria (MQXR)
estão definidos e em execução corretamente.
É possível definir manualmente o serviço MQXR e configurar a fila de transmissão padrão do gerenciador de filas como
SYSTEM.MQTT.TRANSMIT.QUEUE
, que tem precedência sobre uma fila de transmissão padrão existente. Isso torna o gerenciador de filas adequado para Telemetria. Como alternativa, convém considerar a execução do assistente para Definir Configuração de Amostra na página Bem-vindo à Telemetria, se você não tiver feito isso ainda. - Você escreveu seu próprio cliente?
Se a resposta for sim, você escreveu seu aplicativo cliente com o protocolo MQTT v3 e não com o protocolo v5? Tente isolar o problema executando o utilitário do cliente MQTT.
- Você tem um nome de identificador de cliente válido?
Ao se conectar ao IBM® MQ, o identificador de cliente MQTT deve ter menos que 23 caracteres e conter somente caracteres alfabéticos, caracteres numéricos e ponto (.), barra (/), sublinhado (_) e sinal de percentual (%).
- Você conectou o cliente MQTT e esgotou o intervalo MQTT manter ativo?
O atributo manter ativo é o intervalo em milissegundos após o qual, o cliente é desconectado devido a inatividade. Se o serviço MQXR não receber nenhuma comunicação do cliente dentro do intervalo manter ativo, ele se desconectará do cliente.
- Há um grande número de clientes MQTT tentando se conectar a um canal de
telemetria ao mesmo tempo?
Cada canal de telemetria tem um atributo backlog. Esse é o número de pedidos de conexão simultâneos que o canal de telemetria suporta. Assegure-se de que o valor não esteja configurado com um número menor que o número de clientes MQTT que estão tentando se conectar.
- Verifique se a conexão TCP/IP ainda está ativa.