2008-09-22 1 views

ответ

1

От docs:

Значение для накопившихся SOMAXCONN специальной константы, которая инструктирует основной поставщик услуг, ответственный за сокет с, чтобы установить длину очереди ожидающих соединения до максимального приемлемого значения ,

+41

Ужасный ответ. Что такое «разумные ценности»? – Nyerguds 2013-04-02 14:18:14

+6

Я должен согласиться, это вообще не отвечает на вопрос. – spuriousdata 2013-06-05 11:27:02

+0

Почему этот псевдоансвер? – 2016-01-31 20:21:20

31

В этом Winsock Programmer's FAQ есть очень длинный ответ. В нем подробно описывается стандартная настройка, а функция динамического отставания добавлена ​​в исправление для NT 4.0.

4

Я использую SOMAXCONN, если у вас нет конкретной причины использовать короткую очередь.

Имейте в виду, что если в очереди нет нового соединения, никакой RST не будет отправлен, что позволит клиенту автоматически продолжать попытки подключения путем повторной передачи SYN.

Кроме того, аргумент backlog может иметь разные значения в разных реализациях сокетов.

  • В большинстве случаев это означает размер полуоткрытой очереди соединений, в некоторых это означает размер завершенной очереди соединений.
  • Во многих реализациях аргумент backlog умножается, чтобы получить другую длину очереди.
  • Если значение слишком велико, все реализации будут равномерно обрезать значение до максимальной длины очереди.
-2

Как предупреждение для любого, использующего boost asio, значение SOMAXCONN используется как 5 с усилением.

Смежные вопросы