我最近注意到,我不需要为我玩的mmorpg转发端口。
我正在考虑开发一款人们可以在线玩的游戏,我有一个问题。
为什么会出现这种情况,因为它是一个不断来回发送数据的双向套接字连接?他们的服务器不需要通过我的防火墙才能连接到我吗?
发布于 2009-12-30 03:52:02
TCP崩溃教训: TCP是一种双向协议。挑战在于至少有一个主机需要启动。因为在MMORPG中,您自己的计算机永远不会充当服务器,没有人需要连接到它。所有关于游戏状态的信息都是通过公司的面向公众的服务器传递的,这些服务器有面向公众的IP地址(嘿,也许他们实际上在那里使用端口转发,只是为了混淆我的解释……但是,您永远不需要看到它们漂亮的网络内部、代理和其他奇妙的功能。)
无论如何,当您连接到Stackoverflow时,您正在建立一个从服务器请求数据的出站连接,然后通过该连接接收数据。同样的场景,只是用的是网络服务器,而不是游戏。
发布于 2009-12-30 03:51:55
UPnP允许您处理多个路由器。如果您可以访问不在路由器后面的第三方,也可以使用NAT Punch-Through。
无论哪种方式,只有当您希望充当服务器(或P2P关系中的发送方)时,端口转发才是必要的。客户端不需要转发端口。
发布于 2009-12-30 03:50:14
你也不需要转发端口来访问web,尽管数据也是进来的。
当您建立传出TCP连接时,NAT路由器会将该连接放入一个表中,这样当数据传入时,它就知道要将数据包发送到LAN中的哪台机器。
https://stackoverflow.com/questions/1976545
复制相似问题