我目前正在實時製作一個c#在線多人遊戲。目標是使用UDP協議進行基於客戶端/服務器的連接。到目前爲止,我已經使用UDP來進行玩家動作和TCP進行事件(玩家射擊,玩家失去生命),因爲我需要確保這些數據會到達連接到服務器的所有玩家。我知道UDP說'不可靠',有些數據包可能會丟失。但我已經到處閱讀,從不混合使用TCP和UDP,因爲它可能會影響連接。在線多人遊戲基礎知識
主要問題是我應該如何組織我的網絡?
UDP是無連接的,我應該如何保存誰是誰?我應該將客戶的IP地址保存在列表中嗎?
我應該使用TCP進行重要事件還是使用UDP?如果我需要使用UDP,我怎樣才能確保數據不會丟失?
通過使用TCP和UDP,我需要爲每個播放器保存它們的IP在列表中(對於UDP)和在另一個列表中連接的TcpClient(對於UDP)。我怎麼能改變這個更有效?
這個問題在我們的遊戲開發堆棧交換中可能會做得更好:http://gamedev.stackexchange.com/ – 2011-05-25 17:07:56
投票結束,但遷移到Game Dev。 – user7116 2011-05-25 17:18:48
[link](http://gamedev.stackexchange.com/questions/12716/online-multiplayer-game-basics)post migrated – Lowip 2011-05-25 17:57:10