Linux 套接字 recv 返回 -1,errno 110 连接超时



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

recv(3( 的手册页指出了错误ETIMEDOUT

连接

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

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

如果我们假设您使用的是 TCP 套接字:

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

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

如果您在connect()上得到此消息,则表示远程主机没有响应连接请求,可能是由于防火墙或网络连接问题(例如拉电缆(。

如果您在已建立的 TCP 连接上获得此消息,则意味着远程主机未在主机的超时期限内确认从主机发送的 TCP 段,这表示主机已失效、连接失效或电缆拉动。

相关内容

最新更新