想象一下客户端和服务器之间建立的连接。如果参与者之一在短时间内失去与网络的连接,套接字仍然有效吗?我主要对LWIP实施感兴趣,但有一些告诉我答案对于任何套接字都是相同的。
顺便说一句,当需要非常快速的断开连接检测但又需要很短的时间时,将KEEP_ALIVE参数更改为秒级是一个很酷的主意吗?
“失去连接”是指物理原因,例如失去与wifi网络的连接。
答案 0 :(得分:2)
如果其中一位参与者在短时间内失去了与网络的连接,套接字仍然有效吗?
这取决于。假设您的意思是TCP套接字:如果在这段时间内不必交换任何数据,那么短暂的连接中断就无关紧要。如果改为必须交换数据或TCP保持活动状态处于活动状态,则连接可能会降级(在尚未确认应用程序数据的情况下放慢速度并重试发送数据),或者根据发生物理连接丢失的时间而错误地关闭。
在使用UDP或原始套接字的情况下,它无论如何都不关心丢失的数据,因此不会发生任何重要的事情。