在处理保持活动探测时配置不活动超时

在处理保持活动探测时配置不活动超时

我正在使用 python 和套接字库开发 TCP 回显服务器。

我想为每个传入连接配置一个超时。这样,如果某个值没有活动,就丢弃并关闭它们SOCK_TIMEOUT

这是通过特定设置实现的:client_sock.settimeout(SOCK_TIMEOUT)

同时,我希望使用 keepalive 方法保持连接处于活动状态。因此,如果服务器从给定客户端收到 keepalive 探测数据包,我希望避免使用超时来关闭此特定客户端/连接。

问题澄清>>我希望服务器在 3 分钟不活动后断开所有连接。这可以通过函数实现settimeout(SOCK_TIMEOUT)。主要问题是 TCP 套接字的当前配置和实现没有将保持活动探测视为“活动”,因此即使探测得到确认,连接也会关闭。

Q1>>这有意义吗?

我认为这应该是可行的。但是,套接字服务器无法像我希望的那样处理保持活动探测。因为即使服务器确认了这些探测,也会向每个探测返回 ACK,超时后连接就会关闭。

Q2 >> 我应该改变超时实现吗?

相关内容