0
A
回答
1
如果您希望通過套接字接收任何內容,那麼您希望在整個時間內都能收到它。
如果您希望在未收到任何回覆的情況下發送多封郵件,則您已經有設計錯誤,但似乎沒有一個很好的理由說明爲什麼要繼續打開和關閉UDP套接字。只要有必要,讓插座保持打開更合理?
1
因爲UDP是一個面向數據包的協議,所以沒有「連接」來打開或關閉。如果要發送大量消息到特定地址,則可以在UDP套接字上調用connect
,然後使用send
和recv
來通信,而不是sendto
和recvfrom
。這樣,您不必指定要在每次函數調用時發送數據的地址,但這並不意味着建立了連接。
因此,是否最好創建一個套接字並重用它,或者每次創建一個套接字,更多地取決於您的編程風格:如果您創建大量套接字並長時間存儲而不使用它們,你最終可能會用盡套接字。再次,如果您在一個緊密的循環中執行操作,經常要求操作系統創建新套接字可能會成爲性能瓶頸。
相關問題
- 1. 在一個套接字上的多個UDP數據包
- 2. 套接字UDP一個套接字,不同的端口
- 3. 設置多個UDP套接字
- 4. UDP套接字和多個回覆
- 5. UDP C套接字:共享單個端口的多個套接字
- 6. 「java.net.SocketException:套接字關閉」,而綁定一個UDP套接字
- 7. 雙UDP套接字在兩個不同的UDP套接字在Linux中
- 8. UDP套接字,選擇多個客戶端之一
- 9. 是否爲每個UDP連接打開一個新套接字?
- 10. 發送多個數據對UDP套接字的Java的Android
- 11. 哪個更好:Java EE7中的多個Web套接字端點或單個Web套接字端點
- 12. UDP套接字
- 13. 套接字控制接受多個UDP連接
- 14. 用C#中的.net UDP套接字發送一個字節
- 15. 元素中有多個類是一個好的(或最好的)練習?
- 16. 創建沒有IP地址的套接字連接(TCP或UDP)
- 17. 發送從多個線程相同的UDP套接字
- 18. 管理多個UDP套接字的超時時間
- 19. 針對多個客戶端的C#.NET UDP套接字異步
- 20. 爲什麼UDP服務器中有一個套接字?
- 21. 如何綁定/連接多個UDP套接字
- 22. 多個實時線程導致udp套接字連接瓶頸
- 23. UDP套接字(Ubuntu的9.10)
- 24. C#中的UDP套接字?
- 25. UDP套接字:一個現有的連接被遠程主機強制關閉
- 26. UDP數據包停留在套接字多長時間?
- 27. Phonegap UDP套接字?
- 28. 一個基於UDP套接字的無比率文件傳輸
- 29. 殺死一個被阻止的UDP套接字
- 30. 最好有一個主表或分割成多個表?
這是沒有設計錯誤,因爲它只是一個路由器發送統計信息。問題是,真正讓一個無限長的套接字變得更加敏感,還是創建短的套接字更好? – Shaac
讓我們來回顧一下。它是否真的有意義*不*有一個'無限長的插座'?並創建一個新的套接字每個傳輸?並可能失敗?如果你已經擁有了插座,你就不會失敗? – EJP