LWIP接收發送數據時間間隔設置

用硬石開發板例程改個TCP通信程序,發現接收數據很慢,間隔達到250ms,很大上位機下發的命令都無法快速響應:

#define TCP_TMR_INTERVAL       1//250  /* The TCP timer interval in milliseconds. */

原來是250,改成1,這樣1ms接收回調一次

 

 

LWIP  server 主動上傳數據tcp_write  ,要500ms才成功發送一次,TCP_TMR_INTERVAL調小就可以了

 

但是最小也有60ms,最後在網上找到了,是LWIP內部的Nagle算法會把一些小幀數據合併成一個大的數據包再往外發送,

解決:在回調函數tcp_connected_callback()中,加入tcp_nagle_disable(connected_pcb);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章