繁体   English   中英

Java,游戏和端口转发

[英]Java, gaming, and port forwarding

我用Java创建了一个战舰游戏来与SocketsServerSockets 该游戏在LAN上运行良好,但我希望能够与完全不同的网络上的某人对战。 我知道端口转发是必要的,但是我是否必须在正在玩游戏的每个客户端上转发端口? 还是仅需要转发服务器正在使用的路由器上的端口? 谢谢。

仅在服务器上需要端口转发。 由于对许多NAT的操作,绑定到客户端的所有数据包都将从初始请求中自动转发。

因此,您只需要转发服务器上的端口即可。 如果使用SocketServerSocket ,则在路由器允许您选择的情况下,需要转发TCP。 如果使用DatagramSockets ,则在任一端点处转发UDP。

(如果您必须在客户端上转发,则很可能在没有转发端口80的情况下不会阅读此页面)

要详细说明@hexafraction在说什么,可以执行以下操作:

建立任何客户端都可以连接的服务器。 客户通常可以连接到他们想要的任何东西。 防火墙通常会限制可以流入但不能流出的信息。 因此,如果客户端知道要连接的服务器,则可以在不修改防火墙的情况下连接到该服务器,然后服务器将协调客户端之间的数据传输。

我做到了,而我所要做的就是将路由器中使用的端口转发到本地IP地址。 如果您不知道本地IP地址,请运行命令提示符(假设您使用Windows),然后运行ipconfig进行查找。 如果您在家中使用无线路由器,可通过浏览器访问192.168.1.1,希望这会有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM