Linux TCP 阻塞套接字使用 EAGAIN 返回零
Linux TCP blocking socket is returning zero with EAGAIN
我有一个阻塞的 TCP 套接字作为用 C++ 实现的 TCP 客户端的一部分。它正在尝试使用套接字描述符上的 ::read()
调用来读取数据。我看到非常频繁的情况,其中读取 returns 的值为 0,但 errno
的值为 EAGAIN
.
在阻塞套接字的情况下,EAGAIN 是什么意思?
我了解非阻塞套接字的功能,但不清楚阻塞套接字。
我知道这可能是因为遇到读取超时,但我目前没有设置读取超时值。
在 linux 个 TCP 套接字的情况下,默认读取超时值是多少?
where the read returns with a value of 0
这意味着对等方已正常关闭其连接端。您需要关闭该连接的套接字描述符。不用检查errno
,在这种情况下是没有意义的。它只有在 read()
返回 < 0
时才有意义。
我有一个阻塞的 TCP 套接字作为用 C++ 实现的 TCP 客户端的一部分。它正在尝试使用套接字描述符上的 ::read()
调用来读取数据。我看到非常频繁的情况,其中读取 returns 的值为 0,但 errno
的值为 EAGAIN
.
在阻塞套接字的情况下,EAGAIN 是什么意思?
我了解非阻塞套接字的功能,但不清楚阻塞套接字。
我知道这可能是因为遇到读取超时,但我目前没有设置读取超时值。
在 linux 个 TCP 套接字的情况下,默认读取超时值是多少?
where the read returns with a value of 0
这意味着对等方已正常关闭其连接端。您需要关闭该连接的套接字描述符。不用检查errno
,在这种情况下是没有意义的。它只有在 read()
返回 < 0
时才有意义。