Ссылаясь на сайт https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-device-sdk-c-iothubclient Я пишу пример кода azzure iot на C ++ для запуска на Linux и Windows.
Когда я запускаю свой пример кода на Ubutnu, то всякий раз, когда вызывается API IoTHubClient_LL_DoWork (), я получаю следующие ошибки:
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
В чем может быть причина этих ошибок и как от них избавиться?
Вы проверили, что OpenSSL установлен на Linux или, если установлен, какая версия?
Я нашел несколько похожих тем об этой ошибке:
Инициализация SSL и libcurl и получение "недостаточно памяти"
"CURLE_OUT_OF_MEMORY" ошибка при публикации через https
Причина может быть вызвана не инициализированной библиотекой openSSL с SSL_library_init () перед использованием клиента Azure iothub divice.
Несмотря на то, что я не создал среду разработки и не воспроизвел ошибку, надеюсь, это поможет вам.
Других решений пока нет …