azure-iot-sdk-c API IoTHubClient_LL_DoWork () не работает с множеством ошибок

Ссылка на сайт https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-device-sdk-c-iothubclient Я пишу образец кода iot azzure на C ++ для работы в Linux и Windows.

Когда я запускаю свой пример кода в Ubutnu, всякий раз, когда вызывается IoTHubClient_LL_DoWork () API, я получаю следующие ошибки:

Error: Time:Thu May 10 23:56:23 2018 File:/home/azure/azure-iot-sdk-c/c-utility/adapters/httpapi_curl.c Func:HTTPAPI_ExecuteRequest Line:582 curl_easy_perform() failed: Out of memory

Error: Time:Thu May 10 23:56:23 2018 File:/home/azure/azure-iot-sdk-c/c-utility/adapters/httpapi_curl.c Func:HTTPAPI_ExecuteRequest Line:584 (result = HTTPAPI_OPEN_REQUEST_FAILED)
Error: Time:Thu May 10 23:56:23 2018 File:/home/azure/azure-iot-sdk-c/c-utility/src/httpapiex.c Func:HTTPAPIEX_ExecuteRequest Line:475 unable to recover sending to a working state
Error: Time:Thu May 10 23:56:23 2018 File:/home/azure/azure-iot-sdk-c/iothub_client/src/iothubtransporthttp.c Func:DoEvent Line:1684 unable to HTTPAPIEX_SAS_ExecuteRequest
Error: Time:Thu May 10 23:56:23 2018 File:/home/azure/azure-iot-sdk-c/c-utility/adapters/httpapi_curl.c Func:HTTPAPI_ExecuteRequest Line:582 curl_easy_perform() failed: Out of memory

Error: Time:Thu May 10 23:56:23 2018 File:/home/azure/azure-iot-sdk-c/c-utility/adapters/httpapi_curl.c Func:HTTPAPI_ExecuteRequest Line:584 (result = HTTPAPI_OPEN_REQUEST_FAILED)
Error: Time:Thu May 10 23:56:23 2018 File:/home/azure/azure-iot-sdk-c/c-utility/src/httpapiex.c Func:HTTPAPIEX_ExecuteRequest Line:475 unable to recover sending to a working state
Error: Time:Thu May 10 23:56:23 2018 File:/home/azure/azure-iot-sdk-c/iothub_client/src/iothubtransporthttp.c Func:DoMessages Line:2077 unable to HTTPAPIEX_SAS_ExecuteRequest

Что может быть причиной этих ошибок и как от них избавиться?


person RKum    schedule 10.05.2018    source источник


Ответы (1)


Вы проверили, установлен ли OpenSSL в Linux или какой его версии, если он установлен?

Я обнаружил несколько похожих тем об этой ошибке:

Инициализация SSL и libcurl и выход из памяти

https://stackoverflow.com/questions/166617/curle-out-of-memory-error-when-posting-via-https

Причина может быть вызвана тем, что библиотека openSSL не инициализирована с помощью SSL_library_init () перед использованием клиента divice azure iothub. Несмотря на то, что я не создал среду разработки и не воспроизвел ошибку, надеюсь, что это будет полезно для вас.

person Michael Xu - MSFT    schedule 11.05.2018
comment
Привет, @RKum, уже исправили проблему? - person Michael Xu - MSFT; 23.05.2018