在存在连接不稳定的情况下套接字的行为

时间:2018-12-26 16:19:16

标签: sockets lwip

想象一下客户端和服务器之间建立的连接。如果参与者之一在短时间内失去与网络的连接,套接字仍然有效吗?我主要对LWIP实施感兴趣,但有一些告诉我答案对于任何套接字都是相同的。

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

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

1 个答案:

答案 0 :(得分:2)

  

如果其中一位参与者在短时间内失去了与网络的连接,套接字仍然有效吗?

这取决于。假设您的意思是TCP套接字:如果在这段时间内不必交换任何数据,那么短暂的连接中断就无关紧要。如果改为必须交换数据或TCP保持活动状态处于活动状态,则连接可能会降级(在尚未确认应用程序数据的情况下放慢速度并重试发送数据),或者根据发生物理连接丢失的时间而错误地关闭。

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