返回> 网站首页 

[转载]实现LWIP的KeepAlive功能

yoours2013-11-20 11:59:21 阅读 1652

简介一边听听音乐,一边写写文章。

lwip没有启动KeepAlive功能,导致tcp客户端工作不可靠,主要就是无法处理服务器的断线、断网、down机等异常。表现是服务器故障后,tcp客户端总是等待无法返回,造成锁死。

处理方法:
1,使用TCP keepalive功能,定时探测连接的状态,当发生掉线时,自动关闭连接,正常返回。
2,检测网线状态PHY寄存器中有标准位。(没有上一种方法好。)

下面详细介绍如何启动keepalive
1,打开keepalive的标志使能。
2,修改keepalive各个计数值,主要是改小,方便测试。
3,在pcb中需要置位keepalive的一个选项。pcb->so_options |= SOF_KEEPALIVE;

启动了keepalive才是真正的tcp连接,用起来稳定可靠,异常爽快。
微信小程序扫码登陆

文章评论

1652人参与,0条评论