【问题标题】:keepalive timeout on unix/windowsunix / windows上的keepalive超时
【发布时间】:2012-08-08 19:23:37
【问题描述】:

当连接由于 keepalive 活动而中断时,在 aix/linux 上返回的错误是什么?是否是唯一的错误码,可以与其他套接字错误区分开来?

在 Windows 上,这可以是 WSAECONNRESET or WSAENETRESET

有没有办法在返回 WSAECONNRESET 时区分由于 keepalive 活动导致的错误?

WSAECONNRESET 10054 对等方重置连接。 现有连接被远程主机强行关闭。如果远程主机上的对等应用程序突然停止,主机重新启动,主机或远程网络接口被禁用,或者远程主机使用硬关闭,这通常会导致(有关远程主机上 SO_LINGER 选项的更多信息,请参阅 setsockopt插座)。如果在一个或多个操作正在进行时,由于保活活动检测到故障而导致连接中断,也可能导致此错误。正在进行的操作因 WSAENETRESET 而失败。后续操作因 WSAECONNRESET 而失败。

【问题讨论】:

    标签: windows unix tcp


    【解决方案1】:

    有没有办法在返回 WSAECONNRESET 时区分由于 keepalive 活动导致的错误?

    没有。在所有情况下,基本条件都是“连接重置”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多