所有esp_websocket_client_send。。。的地方都加锁,就不容易断线重连:
xSemaphoreTake(ws_mutex, pdMS_TO_TICKS(max_send_wait_time_ms));
esp_err_t err = esp_websocket_client_send_bin_partial(client, (const char *)retbytes,(int)(item_SIZE), portMAX_DELAY);
if (err != ESP_OK) {
ESP_LOGE(TAG, "Send bin failed1: %s , item_SIZE=%d ", esp_err_to_name(err),item_SIZE);
}
err =esp_websocket_client_send_fin(client, portMAX_DELAY);
if (err != ESP_OK)
{
ESP_LOGE(TAG, "Send bin failed2: %s", esp_err_to_name(err));
}
xSemaphoreGive(ws_mutex);