我目前正在实时制作一个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