我有一个回合制游戏,其中两个玩家可能会对彼此玩。我应该使用TCP进行在线游戏吗?
它用C#编写,并使用XNA 4.0。
目前多人游戏是通过TCP/IP实现的。它的工作原理非常好,但前提是玩家在同一个网络中,其中一个知道另一个的IP。
所以,问题是:我应该如何实现了这个游戏的在线游戏? TCP是一种合理的方法,可以连接来自世界各地的两个随机玩家,而不必处理IP地址和端口(或任何其他此类技术细节)?
为了使这个问题更加具有挑战性,我没有服务器托管的游戏配套服务。 (好吧,我得,我可以使用共享IP地址的虚拟Web服务器的访问。)
列出的问题:
- 确实.NET提供了更好的选择,而不是TCP通信的方法吗?
- 在我的情况下处理NAT的最佳方式是什么?
- 有没有一种便宜的方法让我自己的服务器在那里运行TCP游戏匹配服务?
绝对是一个TCP粉丝......这里投票把它迁移到Programmers.SE。 – Fosco
我会说gamedev是更合适的,如果有的话。 –
@Fosco为什么迁徙?这是一个事实上的编程答案可用的问题。 – stefan