websocket发送数据延迟【周期性变大】
Posted: Fri Jul 18, 2025 5:22 pm
我的项目基于IDF v5.4和websocket-client组件,往服务器上发送音频数据切片(每一个数据的长度都是1024),并且在每一次发送都添加了时间戳记录发送耗时。
然后,根据打印出来的日志,发现周期性的会每3个包,就有一个包延迟大到 几百ms,非常有规律!这可能会是什么问题呢???我想不明白,具体日志如下:
Code: Select all
auto timestamp_begin = esp_timer_get_time();
// 发送
esp_websocket_client_send_bin(
self.ws_client_,
(const char *)buffer.data(),
buffer.size() * sizeof(int16_t),
portMAX_DELAY);
ESP_LOGI(TAG, "发送音频(耗时%lld ms)", (esp_timer_get_time() - timestamp_begin)/1000);
Code: Select all
I (8764) RTMM: 发送音频(耗时787 ms)
I (8774) RTMM: 发送音频(耗时6 ms)
I (8784) RTMM: 发送音频(耗时6 ms)
I (8934) RTMM: 发送音频(耗时158 ms)
I (8944) RTMM: 发送音频(耗时5 ms)
I (8954) RTMM: 发送音频(耗时3 ms)
I (9134) RTMM: 发送音频(耗时188 ms)
I (9144) RTMM: 发送音频(耗时4 ms)
I (9144) RTMM: 发送音频(耗时5 ms)
I (9214) RTMM: 发送音频(耗时62 ms)
I (9214) RTMM: 发送音频(耗时3 ms)
I (9224) RTMM: 发送音频(耗时4 ms)
I (9284) RTMM: 发送音频(耗时63 ms)
I (9294) RTMM: 发送音频(耗时3 ms)
I (9294) RTMM: 发送音频(耗时3 ms)
I (9544) RTMM: 发送音频(耗时252 ms)