【问题标题】:TCP let server close connection first on let client close connection firstTCP让服务器先关闭连接让客户端先关闭连接
【发布时间】:2017-05-17 08:12:39
【问题描述】:

假设这是一个简单的无状态服务器。

  1. 如果服务器在处理完请求并写回响应后关闭连接,则CLOSE_WAIT状态下的连接肯定太多了。

  2. 如果让客户端先关闭连接,如果客户端不关闭它们,服务器端可能存在过多的活动连接。

那么如何处理这种情况呢?我应该使用 1 还是 2 或其他?

【问题讨论】:

    标签: c tcp


    【解决方案1】:

    如果服务器在处理完请求并写回响应后关闭连接,则肯定是CLOSE_WAIT状态的连接太多了。

    不会,但会有很多 TIME_WAIT 状态。

    如果让客户端先关闭连接,如果客户端不关闭,可能服务器端活动连接过多。

    所以服务器应该使用读取超时。

    一般来说,服务器最好是接收第一个关闭的服务器。这样 TIME_WAIT 状态会在客户端而不是服务器上堆积,并且客户端不会有很多连接,所以这不是任何问题。

    【讨论】:

      猜你喜欢
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 2023-03-23
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      相关资源
      最近更新 更多