我们有一台服务器,它可以接受的传入连接数量有限。 由于各种不同的原因,我们有多个客户端以不同的间隔连接到服务器。
服务器的至少一个功能要求它处理客户端的请求并在同一个套接字上回复。但是:
我有类似下面的代码,它检查套接字描述符。
if (connect_desc > 0)
{
if (write(connect_desc, buffer, sizeof(buffer)) < 0)
{
printf("write error\n");
}
}
else
printf("connect_desc < 0\n");
我的问题是:
如果客户端关闭套接字,套接字描述符是否会在服务器上更改值?如果没有,有没有办法在我的代码中捕获它?
我没看到最后一次打印出来。
答案 0 :(得分:2)
答案 1 :(得分:0)
Q值。文件描述符会改变吗?
除非:
这些都不是真的。这个问题甚至没有意义。
Q值。如何查看连接状态。
在设计上,没有任何诸如TCP连接状态之类的东西。您可以通过尝试使用来检测它是否失败的唯一方法。