對於剛剛返回時爲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. 簡單TCP服務器
- 2. C#:簡單的TCP服務器問題
- 3. 簡單的C#HTTP/TCP服務器
- 4. 一個簡單的多人遊戲的UDP或HTTP over TCP/IP
- 5. UDP服務器,TCP客戶端?
- 6. Twisted - UDP和TCP服務器在一起
- 7. TCP/UDP客戶端/服務器程序
- 8. 用於客戶機/服務器網吧軟件的TCP或UDP?
- 9. 用於移動消息服務的TCP或UDP?
- 10. 如何在單個服務器中結合使用TCP和UDP?
- 11. 短距離TCP或UDP
- 12. 簡單UDP服務器無法接收數據包
- 13. C#如何使一個簡單的UDP服務器
- 14. 如何區分客戶端是否使用TCP或UDP從服務器端
- 15. Java簡單的TCP客戶端/服務器測試凍結
- 16. Accept()函數;簡單的tcp服務器C
- 17. 用於簡單聊天的C#TCP服務器
- 18. 具有多個客戶端的簡單TCP服務器C/unix
- 19. 簡單的Java TCP服務器和PHP客戶端問題
- 20. 簡單實現TCP客戶端服務器關係
- 21. C++(UDP或TCP)的網絡框架?
- 22. 異步/同步和TCP或UDP
- 23. VBScript/JScript網絡:連接UDP或TCP
- 24. 有什麼更好的,TCP-IP或UDP?
- 25. SMS是否更像UDP或TCP?
- 26. 如何在boost tcp/udp服務器中處理control-c
- 27. tcp和udp echoclient服務器使用選擇
- 28. 使用iPhone作爲TCP和UDP服務器 - 打開端口?
- 29. Python的ICMP套接字服務器(不是TCP \ UDP)
- 30. Apple推送通知服務使用UDP還是TCP?
匹克TCP除非你真的知道你需要UDP。處理起來更容易。 – Joe 2013-03-09 23:06:58