当我们选择保持活动连接时,如何检查连接是否处于活动状态?

时间:2019-10-20 09:37:39

标签: sockets unix

当我们选择保持活动的连接来与服务器通信时,总是会遇到服务器可能偶尔关闭连接的问题。然后,在使用此连接时出现错误。除了重新尝试,我们还有另一种选择可以避免这种问题?在使用连接之前,是否有适当的方法来检查连接是否处于活动状态?

欢迎提出任何建议,谢谢!

1 个答案:

答案 0 :(得分:0)

使用HTTP保持活动状态时,客户端始终必须意识到该连接上的另一个请求可能与服务器关闭的连接冲突。

即使您能够确定在发送HTTP请求的那一刻,客户端的连接仍处于活动状态,仍然存在竞争。由于来自客户端的TCP数据到达服务器需要一些时间,而来自服务器的关闭(TCP FIN)需要一些时间,因此服务器可能已经关闭了连接,但是客户端现在不是,或者服务器在从客户端读取新数据之前关闭了连接。