對於剛剛返回時爲30,或10查詢這樣的數量不多,但將不得不處理高達5級左右的請求在任何情況下,將TCP或UDP是一個更好的協議的服務?我傾向於UDP,但我想要一些專家意見。我也在尋找相對較快的回覆時間。你能告訴我每種服務的優點是什麼嗎?謝謝。TCP或UDP簡單服務
回答
TCP是一種可靠的基於連接的協議。因此,您可以保證數據的發送/接收 - 如果數據包未經驗證可以在另一端收到,數據包會自動重新發送。但是,建立連接的三次握手開銷。
TCP用於像HTTP協議其中存在的信息(HTTP請求和應答)一次性交換。
UDP是一種不可靠的無連接協議。因此,您可以簡單地發送/接收數據包,但您沒有(自動,OS堆棧提供的)方式來驗證另一端是否收到了您的消息。如果你在意,你必須自己實施某種確認。
UDP通常用於更連續的,「流」類型的協議。例如,許多在線多人遊戲使用UDP來與主機交換遊戲信息。他們持續不斷地定期做這件事。所以如果一個數據包丟失了,這不是什麼大不了的事,因爲另一個更新就在即。如果你不得不等待這個(現在過時的)更新被重新傳輸,那麼對於遊戲玩法來說會更糟糕。
DNS還通過UDP實現。
最終選擇是你的。在大多數情況下,我可能會默認爲TCP,並且只能在我描述的場景中使用UDP。
好聽起來不錯。這聽起來像TCP是要走的路,但服務器可以通過同一端口維護多個連接嗎?因爲它可能一次處理超過1個請求 – Iowa15 2013-03-09 23:11:36
我會讓你自己回答一個。提示:你有沒有像其他人一樣訪問過一個網站? – 2013-03-09 23:16:41
+1:TCP幾乎總是**正確的答案。除了少數例外,UDP很少是你真正想要的。 – 2013-03-10 01:09:00
- 1. android客戶端服務器UDP或TCP?
- 2. 德爾福服務聽TCP或UDP
- 3. 簡單TCP服務器
- 4. C#簡單的TCP服務器線程
- 5. 簡單的C#HTTP/TCP服務器
- 6. C#:簡單的TCP服務器問題
- 7. 使用TCP或UDP
- 8. 一個簡單的多人遊戲的UDP或HTTP over TCP/IP
- 9. UDP服務器,TCP客戶端?
- 10. Twisted - UDP和TCP服務器在一起
- 11. TCP/UDP客戶端/服務器程序
- 12. 服務器推送或客戶端請求? TCP還是UDP?
- 13. 用於移動消息服務的TCP或UDP?
- 14. 用於客戶機/服務器網吧軟件的TCP或UDP?
- 15. 簡單的OS X TCP轉發服務器/服務
- 16. 簡單設計或想法或實現UDP聊天服務器和客戶端
- 17. 如何在單個服務器中結合使用TCP和UDP?
- 18. 短距離TCP或UDP
- 19. 指導簡單的單播android udp服務器用c#udp客戶端
- 20. 簡單UDP服務器無法接收數據包
- 21. Argparse錯誤試圖做簡單的UDP服務器客戶端
- 22. 如何區分客戶端是否使用TCP或UDP從服務器端
- 23. TCP/UDP和NAT
- 24. Java簡單的TCP客戶端/服務器測試凍結
- 25. 良好的架構適度簡單的TCP服務器
- 26. 在NodeJS的TCP服務器上實現簡單身份驗證
- 27. 的Node.js簡單的TCP聊天服務器
- 28. 具有多個客戶端的簡單TCP服務器C/unix
- 29. Lua TCP/IP簡單客戶端服務器連接
- 30. 簡單的Java線程化的TCP服務器線程
匹克TCP除非你真的知道你需要UDP。處理起來更容易。 – Joe 2013-03-09 23:06:58