服务器如何知道客户端仍然连接?

时间:2011-03-17 23:00:15

标签: c++ client-server connect

客户端建立与服务器进程的连接。服务器如何知道客户端仍然连接?

例如,服务器是Web服务器,客户端是浏览器。我们假设要求是服务器应该总是想知道客户端已连接。

如何实施/设计?

3 个答案:

答案 0 :(得分:0)

HTTP Sessions可以提供帮助。

答案 1 :(得分:0)

我假设你在谈论套接字。

服务器将知道客户端仍然连接,因为当客户端断开连接时,连接将被拆除。作为TCP正常工作的一部分,服务器将收到通知,因此相关的套接字将被标记为不再与连接相关联。

当服务器进程从此套接字读取或写入时,将通知他们连接不再存在。

答案 2 :(得分:0)

假设正在使用TCP,当另一端断开连接时,您将在套接字上收到零字节读取。这表示连接已关闭。

如果服务器在连接关闭时将数据写入套接字,它也会收到连接已关闭的通知,但确切地说这个通知的实现方式不同。