kopia lustrzana https://github.com/espressif/esp-idf
Added socket receiving timeout, ref. TW#14353 / GitHub issue #844
rodzic
050ae50e83
commit
4079886704
|
@ -132,7 +132,7 @@ static void http_get_task(void *pvParameters)
|
|||
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
||||
continue;
|
||||
}
|
||||
ESP_LOGI(TAG, "... allocated socket\r\n");
|
||||
ESP_LOGI(TAG, "... allocated socket");
|
||||
|
||||
if(connect(s, res->ai_addr, res->ai_addrlen) != 0) {
|
||||
ESP_LOGE(TAG, "... socket connect failed errno=%d", errno);
|
||||
|
@ -153,6 +153,18 @@ static void http_get_task(void *pvParameters)
|
|||
}
|
||||
ESP_LOGI(TAG, "... socket send success");
|
||||
|
||||
struct timeval receiving_timeout;
|
||||
receiving_timeout.tv_sec = 5;
|
||||
receiving_timeout.tv_usec = 0;
|
||||
if (setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &receiving_timeout,
|
||||
sizeof(receiving_timeout)) < 0) {
|
||||
ESP_LOGE(TAG, "... failed to set socket receiving timeout");
|
||||
close(s);
|
||||
vTaskDelay(4000 / portTICK_PERIOD_MS);
|
||||
continue;
|
||||
}
|
||||
ESP_LOGI(TAG, "... set socket receiving timeout success");
|
||||
|
||||
/* Read HTTP response */
|
||||
do {
|
||||
bzero(recv_buf, sizeof(recv_buf));
|
||||
|
|
Ładowanie…
Reference in New Issue