初级会员
- 积分
- 78
- 金钱
- 78
- 注册时间
- 2014-8-20
- 在线时间
- 6 小时
|
基于原子的战舰版V3 netconn_server 例程,在lwipopts.h中,加入如下声明//LWIP保活选项
#define LWIP_TCP_KEEPALIVE 1
#define TCP_KEEPIDLE_DEFAULT 5000 //5秒内连接双方都无数据,则发起保活探测(该值默认为2小时)
#define TCP_KEEPINTVL_DEFAULT 5000 //每5秒发送一次保活探测
#define TCP_KEEPCNT_DEFAULT 3 //一共发送3次保活探测包,如果这3个包对方均无回应,则表示连接异常,内核关闭连接,并发送err回调到用户程序
#define TCP_MAXIDLE TCP_KEEPCNT_DEFAULT * TCP_KEEPINTVL_DEFAULT
在 conn = netconn_new(NETCONN_TCP); //创建一个TCP链接 这条语句后加入一句配置语句
conn->pcb.tcp->so_options |= SOF_KEEPALIVE;//SOF_KEEPALIVE=0x08U
duang~~~~实现了TCP建立连接后,在TCP无通讯的情况下每5s发送一次TCP保活请求,当未接收到保活确认超过3*5s=15s后,tcp_thread向tcp_server端发送close来关闭连接。
|
-
wireshark抓包
-
|