代码之家  ›  专栏  ›  技术社区  ›  EML

生产伊根和艾提美度的RECV超时?

  •  0
  • EML  · 技术社区  · 7 年前

    为了阻止 recv 具有 SO_RCVTIMEO 通过设置 setsockopt ,两者有什么区别 EAGAIN ETIMEDOUT 是吗?

    我有障碍物 接收 它偶尔会失败,但根据连接到我的服务器的客户机的不同,它会以不同的方式失败(返回-1)。一个客户端产生“资源暂时不可用”,另一个客户端产生“连接超时”。这个 socket 手册页上说

    如果没有传输数据,并且已达到超时,则 -返回1时errno设置为eagain或ewouldBlock

    没有提到艾提美度。我猜其中一个客户机仍在生成tcp keepalives,但我在上面找不到任何文档。我在Linux 3.10,CentOS 7.5上。

    1 回复  |  直到 7 年前
        1
  •  1
  •   user207421    7 年前

    ETIMEDOUT send() recv()

    推荐文章