首页 > 解决方案 > 存在连接不稳定时套接字的行为方式

问题描述

想象一下客户端和服务器之间建立的连接。如果其中一个参与者在短时间内失去了与网络的连接,socket 是否仍然有效?大多数情况下,我对 LWIP 实现感兴趣,但有些东西告诉我,任何套接字的答案都是相同的。

顺便说一句,当需要非常快速的断开连接检测但时间很短时,将 KEEP_ALIVE 参数更改为几秒钟的数量级是不是很酷?

“连接丢失”是指物理原因,例如失去与 wifi 网络的连接。

标签: socketslwip

解决方案


如果其中一个参与者在短时间内失去了与网络的连接,socket 是否仍然有效?

这取决于。假设您的意思是 TCP 套接字:如果在这段时间内不必交换数据,那么短暂的连接丢失根本无关紧要。相反,如果必须交换数据或 TCP 保持活动状态,则连接可能会降级(减慢并重试发送数据,以防应用程序数据尚未得到确认)或因错误而关闭,具体取决于物理连接丢失发生的时间长短.

在 UDP 或原始套接字的情况下,它无论如何都不关心丢失的数据,因此不会发生任何重要的事情。


推荐阅读