代码之家  ›  专栏  ›  技术社区  ›  Brian R. Bondy

套接字监听backlog参数,如何确定该值?

  •  34
  • Brian R. Bondy  · 技术社区  · 16 年前

    我应该如何确定监听套接字的backlog参数使用什么?简单地指定一个非常大的数字是否有问题?

    4 回复  |  直到 5 年前
        1
  •  34
  •   Mike Dimmick    16 年前

    Winsock Programmer's FAQ . 它详细介绍了标准设置,以及在NT4.0的修补程序中添加的动态积压功能。

        2
  •  4
  •   smo    16 年前

    我支持使用SOMAXCONN,除非您有特定原因使用短队列。

    请记住,如果队列中没有新连接的空间,则不会发送RST,从而允许客户端通过重新传输SYN自动继续尝试连接。

    • 在许多实现中,backlog参数将相乘以产生不同的队列长度。
    • 如果指定的值太大,所有实现都将以静默方式将该值截断为最大队列长度。
        3
  •  1
  •   Ben Hoffstein    16 年前

    docs :

    SOMAXCONN的backlog值是一个特殊常量,指示负责套接字的底层服务提供商将挂起连接队列的长度设置为最大合理值。

        4
  •  -2
  •   Brian R. Bondy    16 年前

    作为对使用boost asio的任何人的警告,SOMAXCONN值与boost一起用作5。