rt-thread
rt-thread copied to clipboard
LWIP2.0.2断线无法重连问题
RTT做服务端监听端口成功,当应用层接收线程挂在recv函数等待接收时,如果网线断开再重连,无法接收到新的数据,排查原因可能是当前建立的sock对象句柄已被改变,底层接收中断可以接到数据但无法返回给recv函数。 尝试客户端主动断开,recv可返回接收0字节从而退出循环重新连接客户端。请问当网络异常断开时 用何机制可以退出recv从而接受新的socket连接呢?
尝试下keepalive,并设置合理的保活时间。
尝试下keepalive,并设置合理的保活时间。
应该如何实现呢。首先这个合理的保活时间就找不到,如果在保活时间走完前网线就连回去了不就无效吗?其次,当保活时间走完,如何从应用层退出recv函数?
尝试下keepalive,并设置合理的保活时间。
应该如何实现呢。首先这个合理的保活时间就找不到,如果在保活时间走完前网线就连回去了不就无效吗?其次,当保活时间走完,如何从应用层退出recv函数?