Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.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
C++ Linux套接字recv返回-1,错误110连接超时_C++_C - Fatal编程技术网

C++ Linux套接字recv返回-1,错误110连接超时

C++ Linux套接字recv返回-1,错误110连接超时,c++,c,C++,C,连接正确建立,在一段时间后出现。 有人知道为什么吗 错误的状态ETIMEDOUT: 连接在建立连接期间超时,或由于活动连接上的传输超时 此错误的原因可能有很多倍,具体取决于您使用的套接字类型 如果我们假设您正在使用TCP套接字: int tcp_socket = socket(AF_INET, SOCK_STREAM, 0); 这可能意味着您的通信伙伴没有及时发送确认。如果您在connect()上收到此消息,则意味着远程主机没有响应连接请求,原因可能是防火墙或网络连接问题,如电缆拉断 如果您在

连接正确建立,在一段时间后出现。 有人知道为什么吗

错误的状态
ETIMEDOUT

连接在建立连接期间超时,或由于活动连接上的传输超时

此错误的原因可能有很多倍,具体取决于您使用的套接字类型

如果我们假设您正在使用TCP套接字:

int tcp_socket = socket(AF_INET, SOCK_STREAM, 0);

这可能意味着您的通信伙伴没有及时发送确认。

如果您在
connect()
上收到此消息,则意味着远程主机没有响应连接请求,原因可能是防火墙或网络连接问题,如电缆拉断


如果您在已建立的TCP连接上收到此消息,则意味着远程主机没有在主机的超时时间内确认从您的主机发送的TCP段,这表示主机已断开、连接已断开或电缆拉入。

显然来自
recv
,这就是为什么您应该请求;)问题名称如何?@AnttiHaapala如果你需要更多细节,请随意询问,但不要告诉我。我不需要它。谢谢你的回复。当服务器调用关闭(sock),客户端调用recv()但recv nothing时,我很困惑。在正常情况下,recv必须返回零,这意味着服务器关闭此连接,但客户端recv就像死了一样。这意味着在非常糟糕的网络环境中,主机可能会丢失(fin+ack)包?您能提供一个吗?!(好吧,它不需要我们验证,但需要最少的代码,你可以复制它)这是一个MCVE不会有帮助的时候。这是一个网络问题,OP的网络不能发布在SO问题中:)我投票将这个问题作为离题题来结束,因为这是一个网络上的网络系统问题,不包括在问题中:)@MartinJames它可以,因为recv可能因各种原因超时。。。现在我们甚至不知道OP是使用IPX还是Unix套接字…对于Linux,最好使用这里的参考页:或者这里谢谢您的回复。