Как определить, что использовать для параметра backlog для прослушивания сокета? Не стоит ли просто указывать очень большое число?Параметр socket listen backlog, как определить это значение?
ответ
От docs:
Значение для накопившихся SOMAXCONN специальной константы, которая инструктирует основной поставщик услуг, ответственный за сокет с, чтобы установить длину очереди ожидающих соединения до максимального приемлемого значения ,
В этом Winsock Programmer's FAQ есть очень длинный ответ. В нем подробно описывается стандартная настройка, а функция динамического отставания добавлена в исправление для NT 4.0.
Я использую SOMAXCONN, если у вас нет конкретной причины использовать короткую очередь.
Имейте в виду, что если в очереди нет нового соединения, никакой RST не будет отправлен, что позволит клиенту автоматически продолжать попытки подключения путем повторной передачи SYN.
Кроме того, аргумент backlog может иметь разные значения в разных реализациях сокетов.
- В большинстве случаев это означает размер полуоткрытой очереди соединений, в некоторых это означает размер завершенной очереди соединений.
- Во многих реализациях аргумент backlog умножается, чтобы получить другую длину очереди.
- Если значение слишком велико, все реализации будут равномерно обрезать значение до максимальной длины очереди.
Как предупреждение для любого, использующего boost asio, значение SOMAXCONN используется как 5 с усилением.
- 1. .NET Socket Listen backlog
- 2. listen() backlog верхние пределы
- 3. Опрос TCP socket idle listen
- 4. Socket Backlog поведение
- 5. PHP socket alternate listen/connect
- 6. listen() игнорирование значения отставания
- 7. Как получить BACKLOG в гнезде для прослушивания
- 8. socket_listen() игнорирует параметр «backlog», как установить ограничение соединения?
- 9. listen() максимальный размер очереди для каждой версии Windows
- 10. iOS listen socket становится плохим дескриптором файла после блокировки экрана
- 11. Почему сервер Mysql связывается с клиентом через Socket Listen?
- 12. Linux Socket Programming: listen() вызов, показывающий неожиданное поведение
- 13. Исключение C++ в вызове WSA listen()
- 14. Java ServerSocket Несколько экземпляров Listen
- 15. Winsock2: «listen» возвращается раньше
- 16. WinSock select() on listen() ing socket, неблокирующий ввод-вывод?
- 17. socket io: как передать параметр disconnet socket event?
- 18. .listen параметры метода в NodeJS
- 19. C: listen() API возвращает -1
- 20. listen(): недопустимый аргумент
- 21. прослушать звонок backlog в c
- 22. C# listen 80 port
- 23. Как определить значение HKQuantitySampleType?
- 24. идентичность Сохранить звонящий в .listen() в дротиком
- 25. Firebase stop listen onAuthStateChanged
- 26. Что такое «backlog» в соединениях TCP?
- 27. Node.js и postgres LISTEN
- 28. Как определить новый параметр и установить его значение для задачи?
- 29. Вопрос о прослушивании и backlog для сокетов
- 30. Как создать сервер Socket Socket?
Ужасный ответ. Что такое «разумные ценности»? – Nyerguds 2013-04-02 14:18:14
Я должен согласиться, это вообще не отвечает на вопрос. – spuriousdata 2013-06-05 11:27:02
Почему этот псевдоансвер? – 2016-01-31 20:21:20