網路遊戲 採用的是tcp協議還是udp協議?

時間 2021-06-01 08:44:11

1樓:huabo lee

網路遊戲這個說的太籠統了,不同遊戲的實時性要求完全不一樣的,

TCP,UDP本質上差別在於TCP協議上實現的可靠性,UDP則沒有,UDP協議就相對簡單,TCP會複雜,也是就TCP協議開銷本身比較大,對於實時遊戲來說,是不合適的,實時遊戲傳遞的資料量非常小,而又對實時響應要求很高。自然UDP更好;

比如:棋牌類的,實時性幾乎沒有什麼要求,延時1秒也不會有什麼影響,那麼TCP是可以的。

CS之類的射擊對戰類遊戲,則對實時性要求非常高,因為成敗可能就在10ms這個很短時間類發生,TCP就顯得跟不上了,UDP就好一些;

魔獸,星際爭霸這種策略類遊戲對實時性要求也不是很高,處在棋牌類遊戲和射擊類遊戲之間,延時100ms,甚至幾百ms都沒有太大影響,它主要是偏重策略。

UDP沒有提供可靠性保障,但是你可以根據需要自己實現,UDP也可以完全實現TCP的可靠連線;

2樓:ggffss

本來UDP是最佳選擇,然而國內的網路啊,UDP 被故意丟包啥的真是家常便飯。

因此如果為了高峰期遊戲穩定。

建議Tcp(當然最好是優化過協議棧的)。

3樓:勝勳

網路遊戲用TCP還是UDP?

都可以魔獸世界用的是TCP還是UDP?

《WoW》用了TCP協議,本地埠11348,遠端埠8085UDP發生丟包,怎麼檢測?

無法檢測

要麼要求重新發給我乙份

要麼無視掉

4樓:咖啡君

看你要做什麼遊戲

可以容忍延遲並且有很好的遮蔽延遲的設計,如紙牌類和MMO,用TCP

不能容忍延遲,如DOTA類和動作類,用UDP

5樓:九幽龍吟

做乙個檢測和備份機制。

就是在互動協議裡面先設計好,例如我互動,先發乙個整體列表,告訴伺服器,我要發包了,這次有100個包,序號按1-100.

然後發乙個包,包頭包體包尾,

在包頭裡面寫我的包序號 sequence ID ,伺服器收到包後進行檢測,

這個序列是1-100,OK沒問題。

如果發現,第56條資料沒有,那麼發資訊給客戶端,讓他重發第56條資料。

具體的可能更複雜,我這只是對這一種情況的解決方案

6樓:fei zhang

最近在搞這方面,分享點心得,不對請指正。

實時戰鬥遊戲的話還是要用UDP了,因為TCP的特性,一旦丟包就會重發,阻塞住後續的資料報,因而可能會產生乙個較大的瞬時延遲。

魔獸世界據說是用TCP。可能因為魔獸世界的遊戲設計能很好的隱藏延遲,TCP用起來更簡單些。

關於丟包檢查,可以採用乙個近似TCP的ack機制,可以給每個資料報都新增乙個sequence ID,然後傳送端就依次傳送資料報,接收端收到資料報後就可以根據sequence ID來判斷是否有丟包了。

接下來是重點,接收端需要發該sequenceID的ack給傳送端,傳送端才會知道這個包是否已經送達。但這是一筆不小的開銷,而且,ack本身也有可能丟包。

可以這樣,傳送乙個sequence ID的ack時,附加乙個32bit的位序列,表示當前sequence ID之前的32個連續順位的資料報是否已經送達,其實就是冗餘的傳送連續32個包的送達狀態,如果bit為0說明這個包還沒到,如果為1,說明已經收到了。這樣一來,除非連續丟包30多次,ack是一定會送到的,這種機率已經非常小了。

相應的,在傳送端設定乙個超時機制,這個時間差不多比連續發30個ack的時間長一點,如果傳送乙個包後開始計時,達到超時還沒有收到ack,這個包就丟失了。

但即使丟包了也不一定需要重發!是否需要重發,如何重發可以和遊戲的邏輯結合起來,沒有必要實現類似TCP那樣的完全可靠的機制,畢竟戰鬥中的同步速率很高,丟乙個一般也沒啥事情。

語言組織能力欠佳,多包涵。

從事網路遊戲行業是怎樣的體驗?

夢在人間 離職三個月了,回想起來微微有些後悔 多益是很適合新人策劃的公司,遇到了很多同樣滿懷熱情的小夥伴,每一天都富有朝氣 伙食 住宿 班車都很好 只是成長遇到了瓶頸,自己也不會在遊戲這條路上走太遠想通了,不要浪費時間,就走了 可能有點偏題,說的不是我自己,而是兩個比較熟的同事。乙個是他以前的同學出...

網路遊戲的價值是什麼?

可能在移動網際網路不那麼發達的時代,網路遊戲的價值主要是娛樂。現在在移動網際網路社會發達的今天。網路遊戲其實更像一種社交平台吧。畢竟在網遊裡面都帶著一張人皮 並不是說單機就不能提供娛樂,但是有人的地方就有江湖。 魔裝 網遊,現在有乙個觀點,算是服務業 遊戲營造了乙個虛擬的世界,讓人們扮演不同的角色,...

網路遊戲真的有所謂的 託 嗎?

你是惡 我昨天就遇到了託,主要是託推薦的遊戲一點都不好玩,畫質很爛,就這樣還想讓我充錢,沒門 我都說不喜歡不玩了,他還在乙個勁的勸我和他一起玩玩看看,百分之百的託 Eidolon 這是真的有,而且很多,許多廣告宣傳的很厲害的遊戲,都安排了託在遊戲內刺激消費。一般情況乙個專職的託,可以負責幾十個伺服器...