【发布时间】:2011-07-16 01:02:20
【问题描述】:
我在 Linux 下用 C++ 编写套接字。我有个问题。如何确定客户端是否关闭了连接。
特别是在服务器接受客户端并开始等待来自客户端的一些数据的情况下。但客户端不发送任何内容,只是关闭与服务器的连接。在这种情况下,我的服务器一直在等待一些数据。
这是我的程序示例:
newsockfd = accept(sockfd,
(struct sockaddr *) &cli_addr,
&clilen);
if (newsockfd < 0)
error("ERROR on accept");
bzero(buffer,256);
n = read(newsockfd,buffer,255);
我的服务器上还有几个套接字。我需要知道客户端关闭了哪个套接字。
【问题讨论】:
-
我不明白“客户端关闭了连接到哪个套接字”?你需要“newsockfd”的值还是????