在PC上托管游戏 - UDP或UPNP通信?

时间:2011-11-18 17:53:53

标签: c# c#-4.0 udp upnp

我为游戏构建了一个服务器应用程序,我希望普通人可以使用它。现在,由于我之前使用过客户端/服务器解决方案,我知道在某些计算机上托管连接是多么乏味。

所以,我听说这些谣言我想得到证实。

  1. 使用UDP“托管”连接是好的,因为与TCP相比,它很少被路由器防火墙阻止。

  2. 使用UPNP与路由器进行通信是很好的,因为它允许您为游戏添加端口转发,无论您使用的是TCP还是UDP,都可以访问服务器。

  3. 我不关心人们可能使用的软件防火墙。我关心的是路由器防火墙功能。

    任何帮助都将不胜感激。

    谢谢!

1 个答案:

答案 0 :(得分:2)

对于你的两个谣言,

  1. 我不知道,我还没有充分使用防火墙,但我不会称之为真的。大多数路由器会阻止所有内容(TCP和UDP),除非您明确要求它通过手动设置或UPNP转发它以进行入站连接。如果你没有告诉路由器什么计算机想要信息进入端口12345,当用户向其发送未经请求的数据包时,它将如何知道该怎么做(作为服务器的定义)。

  2. 是的,了解如何操作UPNP会让您的用户更轻松地托管游戏,但是您仍然应该为没有打开UPNP或路由器不支持它的人提供说明。 / p>

  3. 您可能想要了解的另一件事是学习如何将您的程序添加到Windows防火墙客户端允许列表中,因为这是您的大多数用户所拥有的。有关详细信息,请参阅this SO question