lwip tcp保活
时间: 2023-10-04 15:06:12 浏览: 181
lwip tcp保活是一种机制,用于检测TCP连接是否仍然有效并保持连接的稳定性。在lwIP协议栈中,通过设置SO_KEEPALIVE标志来开启TCP保活选项。当连接处于ESTABLISHED或CLOSE_WAIT状态时,如果开启了保活选项,lwIP会定期发送TCP保活探测数据包来检测对方是否仍然存在。
具体实现中,lwIP使用了两个参数:keep_idle和keep_intvl。keep_idle表示首个保活探测包发送之前的空闲时间,keep_intvl表示连续保活探测包之间的时间间隔。
如果在pcb->keep_cnt * pcb->keep_intvl的时间内没有收到对方的数据,则lwIP认为对方已经断开连接或不可达,会直接关闭本地连接。在代码中,如果满足这个条件,会输出相应的信息并关闭本地连接。
综上所述,lwip tcp保活是通过定期发送保活探测包来检测对方是否仍然存在,并在超时后关闭本地连接。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [LWIP使用TCP自带的KEEPALIVE功能](https://blog.csdn.net/qq446252221/article/details/110439520)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [CUBE配置STM32H750+Lan8720+FreeRTOS+lwip+掉线重连+KeepAlive移植工程文件 ](https://download.csdn.net/download/monei3525/12913098)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [TCP/IP传输层协议实现 - TCP的保活定时器(lwip)](https://blog.csdn.net/arm7star/article/details/117382423)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文