iothub_client / src / iothubtransport_mqtt_common.c Func: InitializeConnection Строка: 2229 Тайм-аут mqtt_client в ожидании CONNACK - PullRequest
0 голосов
/ 21 декабря 2018

ОС: Linux SDK Версия: 2018-12-13 Описание проблемы:

iothub_ll_telemetry_sample.c, когда я поместил 60000 в функцию ThreadAPI_Sleep (60000), работает хорошо, но пробовал с 120000 перед ошибкой тайм-аута.

cd ~ / azure-iot-sdk-c / cmake / iothub_client / samples / iothub_ll_telemetry_sample $ ./iothub_ll_telemetry_sample

Журнал консоли проблемы:

Создание дескриптора устройства IoTHub Отправка сообщения 1 в IoTHub Отправка сообщения 2 в IoTHub Ошибка: время: пт 21 декабря 11:12:19 2018 Файл: / home / test / azure-iot-sdk-c / iothub_client / src / iothubtransport_mqtt_common.c Func: InitializeConnection Строка: 2229 Тайм-аут mqtt_client в ожидании отправки сообщения CONNACK 3 в IoTHub Отправка сообщения 4 в IoTHub Ошибка: время: пт 21 декабря 11:16:19 2018 Файл: / home /test / azure-iot-sdk-c / iothub_client / src / iothubtransport_mqtt_common.c Func: строка инициализации_соединения: 2229 Тайм-аут mqtt_client в ожидании отправки сообщения CONNACK 5 на IoTHub Ошибка: время: F21 дек. 11:18:19 2018 Файл: /home/test/azure-iot-sdk-c/iothub_client/src/iothubtransport_mqtt_common.c Строка функции: InitializeConnection: 2229 Время ожидания mqtt_client в ожидании ошибки CONNACK: Время: пт 21 декабря11:20:19 Файл 2018: /home/test/azure-iot-sdk-c/iothub_client/src/iothubtransport_mqtt_common.c Строка функции: InitializeConnection: 2229 Тайм-аут ожидания mqtt_client для ошибки CONNACK: Время: пт. 21 декабря 11:22: 19 2018 Файл: /home/test/azure-iot-sdk-c/iothub_client/src/iothubtransport_mqtt_common.c Func: InitializeConnection Line: 2229 Тайм-аут ожидания mqtt_client для ошибки CONNACK: Время: пт, декабрь 21 11:24:19 2018Файл: /home/test/azure-iot-sdk-c/iothub_client/src/iothubtransport_mqtt_common.c Func: InitializeConnection Строка: 2229 Тайм-аут ожидания mqtt_client в ожидании ошибки CONNACK: Время: пт. 21 дек. 11:26:19 2018 Файл: /home / test / azure-iot-sdk-c / iothub_client / src / iothubtransport_mqtt_common.c Функция: строка инициализации подключения: 2229 тайм-аут ожидания mqtt_client для CONNACK

Примечание: в предыдущем vВы сказали, что это решено, но здесь это не работает от меня.Пожалуйста, объясните мне, в чем проблема.

1 Ответ

0 голосов
/ 05 января 2019

Версия функций SDK "LL" является однопоточной.При изменении кода на режим ожидания в течение двух минут SDK не может обслуживать сокет и, следовательно, не получает пакет CONNACK во времени.Вызов функции, которая обслуживает сокет: IoTHubDeviceClient_LL_DoWork.Эта функция должна вызываться как минимум каждые 100 мс и предпочтительно быстрее, чем это.Если вы хотите отправлять сообщение каждые две минуты, то вы обязаны следить за временем и отправлять свое сообщение каждый раз, когда прошло два минуты с момента вашего последнего сообщения.Вы не можете просто уложить нить на две минуты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...