Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Linux上的C中检测套接字上的关闭等待?_C_Linux_Sockets_Status - Fatal编程技术网

如何在Linux上的C中检测套接字上的关闭等待?

如何在Linux上的C中检测套接字上的关闭等待?,c,linux,sockets,status,C,Linux,Sockets,Status,我正在编写TCP客户端,我想在连接中断时立即重新连接(即服务器重新启动)。我想尽快重新启动连接,即使没有数据通过这个套接字发送。我在netstat中看到连接处于关闭等待状态,但select、getsockopt或getpeername没有错误。 我知道我可以尝试向套接字写入内容,但此连接仅用于读取。来自: 返回值 这些调用返回接收的字节数,如果发生错误,则返回-1。对等方执行有序关机后,返回值将为0 CLOSE\u WAIT表示从对等方接收到FIN。这将导致select()报告套接字可读,然后r

我正在编写TCP客户端,我想在连接中断时立即重新连接(即服务器重新启动)。我想尽快重新启动连接,即使没有数据通过这个套接字发送。我在netstat中看到连接处于关闭等待状态,但select、getsockopt或getpeername没有错误。 我知道我可以尝试向套接字写入内容,但此连接仅用于读取。

来自:

返回值

这些调用返回接收的字节数,如果发生错误,则返回-1。对等方执行有序关机后,返回值将为0


CLOSE\u WAIT
表示从对等方接收到
FIN
。这将导致
select()
报告套接字可读,然后
recv()
将返回0。这就是手册页所指的“有序关闭”。