我應該如何確定監聽套接字的積壓參數使用什麼?簡單地指定一個非常大的數字是個問題嗎?socket監聽backlog參數,如何確定這個值?
33
A
回答
1
從docs:
一種用於SOMAXCONN積壓值是指示負責套接字s的基礎服務提供給設置掛起到最大合理值連接的隊列的長度的特殊恆定。
31
在Winsock Programmer's FAQ中有很長的答案。它詳細介紹了標準設置,以及在NT 4.0修補程序中添加的動態積壓功能。
4
我第二次使用SOMAXCONN,除非你有特定的原因使用短隊列。
請記住,如果隊列中沒有空間用於新連接,則不會發送RST,從而允許客戶端通過重新傳輸SYN自動繼續嘗試連接。
另外,backlog參數在不同的套接字實現中可以有不同的含義。
- 在大多數情況下,它表示半開連接隊列的大小,在某些意義上表示已完成連接隊列的大小。
- 在許多實現中,積壓參數將相乘以產生不同的隊列長度。
- 如果指定的值太大,則無論如何,所有實現都會將該值無提示地截斷爲最大隊列長度。
-2
作爲使用boost asio的任何人的警告,SOMAXCONN值被用作5並帶有提升。
相關問題
- 1. 編程評估SOMAXCONN的值,以設置監聽backlog參數
- 2. Asp.NET 5監聽tcp socket
- 3. 使用boost :: asio監聽兩個socket
- 4. 監聽兩個特定端口的Socket服務器
- 5. 這個程序在TCP-socket上監聽 - 哪一個? (&如何找出它是否沒有這樣的狀態?)
- 6. 如何通過自定義的參數進的onClick監聽
- 7. IO :: Socket :: INET-> new不創建監聽SOCKET
- 8. 讓socket和http服務器監聽同一個端口
- 9. 句柄 '這個' 事件監聽器
- 10. Laravel監聽器監聽多個事件
- 11. 在Android的另一個監聽器中定義監聽器
- 12. 如何正確集成監聽器綁定和Lambda表達式
- 13. JavaScript中的事件監聽器的順序如何確定?
- 14. 如何確定圖像視圖上的長按監聽器?
- 15. 如何確定X正在監聽的端口?
- 16. 如何確定在端口80上監聽什麼服務器
- 17. 如何確定web.xml中監聽器的順序
- 18. 這個特定參數如何獲得一個值?
- 19. 事件監聽器的傳遞參數
- 20. 明確監聽信號
- 21. 如何注入springSecurityService到定製監聽
- 22. 如何在java背景下運行這個按鍵監聽器
- 23. 如何在這個例子中實現onchildclick監聽器?
- 24. Android如何正確添加幾個按鈕監聽器
- 25. 獲取GTK中的對象監聽器的參數值#
- 26. 保持參數值在循環上分配事件監聽器
- 27. python socket參數
- 28. 監聽UDP和監聽
- 29. 如何使用JQuery監聽RadioGroup選定值的更改?
- 30. 以2個參數傳遞函數的addEvent監聽方法
很糟糕的答案。什麼是這樣的「合理價值」? – Nyerguds 2013-04-02 14:18:14
我必須同意,這根本不回答這個問題。 – spuriousdata 2013-06-05 11:27:02
爲什麼接受這個假設? – 2016-01-31 20:21:20