Sockets 那么_KEEPALIVE决定向哪个连接端发送KEEPALIVE探测?

Sockets 那么_KEEPALIVE决定向哪个连接端发送KEEPALIVE探测?,sockets,tcp,Sockets,Tcp,如果使用setsockopt将套接字设置为SO_KEEPALIVE,是否意味着调用setsockopt的一方将发送KEEPALIVE探测 因此,如果执行以下步骤的一方将发送keepalive探测: 使用socket 使用setsockopt设置SO_KEEPALIVE 调用connect 开始数据传输 如果执行以下步骤的另一方也将发送keepalive探测: 使用accept 使用setsockopt设置SO_KEEPALIVE 开始数据传输 我在Google和browseed上搜索过。但我找不

如果使用
setsockopt
将套接字设置为
SO_KEEPALIVE
,是否意味着调用
setsockopt
的一方将发送KEEPALIVE探测

因此,如果执行以下步骤的一方将发送keepalive探测:

  • 使用
    socket
  • 使用
    setsockopt
    设置
    SO_KEEPALIVE
  • 调用
    connect
  • 开始数据传输
  • 如果执行以下步骤的另一方也将发送keepalive探测:

  • 使用
    accept
  • 使用
    setsockopt
    设置
    SO_KEEPALIVE
  • 开始数据传输

  • 我在Google和browseed上搜索过。但我找不到明确的答案。

    没错。套接字选项只影响本地方可以做的事情


    如果本地套接字正在执行keep-alive操作,并且在重试几次后没有得到响应,它将重置。另一方必须保护自己。

    保持活动从应用程序设置SO_KEEPALIVE on套接字的一端发送。当在空闲线路上触发探针时,探针的间隔是多少,触发重置的未确认探针的计数-所有这些都设置为套接字选项,设置为SO_KEEPALIVE。对等端应用程序甚至不知道其对等方正在尝试保持活动状态