我一直在调查联网在两个玩家的游戏我写的使用,我还没有当上一个设备必须拥有与外界沟通的转发端口清楚。
从我在其他游戏中所看到的,端口转发总是需要以托管服务器,但不要求在客户端上。 此外,还有如Skype(其,我的理解是最终客户端到客户端),其中既不端必须转发的端口的其他情况。
所以我的问题是,在过度的互联网通信,是与不是端口转发在必要的时候,我可以采取什么措施作为开发者做出这等我的用户不必担心吗? 提前致谢!
我一直在调查联网在两个玩家的游戏我写的使用,我还没有当上一个设备必须拥有与外界沟通的转发端口清楚。
从我在其他游戏中所看到的,端口转发总是需要以托管服务器,但不要求在客户端上。 此外,还有如Skype(其,我的理解是最终客户端到客户端),其中既不端必须转发的端口的其他情况。
所以我的问题是,在过度的互联网通信,是与不是端口转发在必要的时候,我可以采取什么措施作为开发者做出这等我的用户不必担心吗? 提前致谢!
需要端口转发,当互联网上的机器需要启动一台机器,这是一个防火墙或NAT路由器后面的连接。 如果连接被防火墙后面的机器启动时,防火墙/路由器自动识别回复流量,并将其发送到打开连接的机器。
但是,如果一个数据包到达外部接口上,它不是这样的连接的一部分,路由器需要知道该怎么办。 默认情况下,它会拒绝它。 但是,如果转发配置的端口,告诉它什么机器内部将其发送到。
换句话说:你需要的端口转发,如果你想运行的NAT防火墙/路由器后面的服务器,你不需要它,如果你只是运行的客户端。
端口转发(发生)当一个NAT , 防火墙或全部或某些端口一些其它装置连通,阻断。
要回答作为一个例子你的问题,大多数商用路由器使用NAT允许多人使用同一个IP(如从外界看来)由互联网服务供应商提供。 大多数的ISP使用NAT,允许多个用户使用同一个IP(如从外界观察)。 为了得到这个工作,NAT改变了内部IP和通信的端口号到(只有一个对整个子网)的外部IP和一个新的端口号。 通过这样做,路由器/ ISP / ECT可以告诉它的内部IP和端口的每个外部通信去。
随时随地通过互联网通信的计算机之一是在NAT后面,需要端口转发。 我敢肯定有比这更办法的情况下,并解决每个人都可以是相当复杂的。 但是,这涵盖了绝大多数。
有原因的Skype不(不总是)需要端口转发的手动设置:
当安装的Skype,1024以上的端口是随机选择的端口传入连接。 您可以配置的Skype,如果你想使用一个不同的端口传入的连接,但如果你这样做,你必须手动打开备用端口 。
如果选择用于进入连接的端口变得不可用,默认情况下端口80和443将被用作替代品 。 如果另一个应用程序(如Apache HTTP服务器或IIS)使用这些端口,您可以配置应用程序使用其他端口 ,也可以配置的Skype不使用这些端口。
端口转发是必须的,如果你的主机服务器。 您可以使用同样的技术Skype的......我不知道是否有任何其他选项...