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

Sockets 套接字在连接不稳定情况下的行为,sockets,lwip,Sockets,Lwip,想象一下,客户机和服务器之间建立了连接。如果其中一个参与者在短时间内失去了与网络的连接,套接字是否仍然有效?我主要对LWIP实现感兴趣,但有些东西告诉我,答案对于任何套接字都是一样的 顺便问一下,当需要非常快速的断开检测但时间很短时,将KEEP_ALIVE参数更改为秒级是不是很酷 我所说的“连接丢失”是指物理原因,比如失去与wifi网络的连接 如果其中一个参与者在短时间内失去了与网络的连接,套接字是否仍然有效 视情况而定。假设您指的是TCP套接字:如果在这段时间内不需要交换任何数据,那么短时间的

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

顺便问一下,当需要非常快速的断开检测但时间很短时,将KEEP_ALIVE参数更改为秒级是不是很酷

我所说的“连接丢失”是指物理原因,比如失去与wifi网络的连接

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

视情况而定。假设您指的是TCP套接字:如果在这段时间内不需要交换任何数据,那么短时间的连接中断根本不重要。如果必须交换数据,或者TCP保持活动状态处于活动状态,则连接可能会降级(如果应用程序数据尚未得到确认,则会减慢速度并重试发送数据),或者根据物理连接丢失的时间长短错误关闭

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

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

视情况而定。假设您指的是TCP套接字:如果在这段时间内不需要交换任何数据,那么短时间的连接中断根本不重要。如果必须交换数据,或者TCP保持活动状态处于活动状态,则连接可能会降级(如果应用程序数据尚未得到确认,则会减慢速度并重试发送数据),或者根据物理连接丢失的时间长短错误关闭

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