2013-03-09 79 views
0

對於剛剛返回時爲30,或10查詢這樣的數量不多,但將不得不處理高達5級左右的請求在任何情況下,將TCP或UDP是一個更好的協議的服務?我傾向於UDP,但我想要一些專家意見。我也在尋找相對較快的回覆時間。你能告訴我每種服務的優點是什麼嗎?謝謝。TCP或UDP簡單服務

+2

匹克TCP除非你真的知道你需要UDP。處理起來更容易。 – Joe 2013-03-09 23:06:58

回答

3

TCP是一種可靠的基於連接的協議。因此,您可以保證數據的發送/接收 - 如果數據包未經驗證可以在另一端收到,數據包會自動重新發送。但是,建立連接的三次握手開銷。

TCP用於像HTTP協議其中存在的信息(HTTP請求和應答)一次性交換。


UDP是一種不可靠的無連接協議。因此,您可以簡單地發送/接收數據包,但您沒有(自動,OS堆棧提供的)方式來驗證另一端是否收到了您的消息。如果你在意,你必須自己實施某種確認。

UDP通常用於更連續的,「流」類型的協議。例如,許多在線多人遊戲使用UDP來與主機交換遊戲信息。他們持續不斷地定期做這件事。所以如果一個數據包丟失了,這不是什麼大不了的事,因爲另一個更新就在即。如果你不得不等待這個(現在過時的)更新被重新傳輸,那麼對於遊戲玩法來說會更糟糕。

DNS還通過UDP實現。


最終選擇是你的。在大多數情況下,我可能會默認爲TCP,並且只能在我描述的場景中使用UDP。

+0

好聽起來不錯。這聽起來像TCP是要走的路,但服務器可以通過同一端口維護多個連接嗎?因爲它可能一次處理超過1個請求 – Iowa15 2013-03-09 23:11:36

+0

我會讓你自己回答一個。提示:你有沒有像其他人一樣訪問過一個網站? – 2013-03-09 23:16:41

+2

+1:TCP幾乎總是**正確的答案。除了少數例外,UDP很少是你真正想要的。 – 2013-03-10 01:09:00