我使用套接字在Java中制作了一个网络游戏。它工作的很好,除了......只通过我的局域网。 :/我想要做的就是设置它,这样我就可以启动在家用计算机上运行的服务器,并将客户端代码以可执行的jar形式发送给其他人,并让他们能够启动它并通过互联网连接。但就像...我不知道如何设置我的调制解调器&路由器。 :(我有一个无线调制解调器清晰,为其配置页看起来是这样的:Java套接字端口转发
http://imageshack.us/photo/my-images/254/modem.jpg
而且美国网件路由器,它的页面看起来是这样的:
http://imageshack.us/photo/my-images/443/routerq.jpg
眼下,在客户端和服务器运行器类中,我将PC的私有IP地址和我选择的端口号一起传递给ServerSocket和Socket对象。我听说Sockets可以是UDP或TCP,具体取决于您如何设置它们,或者某事......?我虽然没有做那样的事,但我只是实例化了他们并通过他们的2个值,并关闭他们去...
在该服务器的代码:
ServerSocket sock = new ServerSocket();
sock.bind(new InetSocketAddress(IP, 9001));
代码客户端:
Socket sock = new Socket(IP, 9001);
所以还可以,我会需要知道如何根据路由器/调制解调器设置的变化相应地更改代码。
“IP”是一个字符串,表示我的计算机的私有IP 192.168.1.10,并且该程序仅在我传递给Socket & ServerSocket的字符串时起作用。就像我说的,我有一台调制解调器连接到连接到我的电脑的路由器。所以,有人可以请我解释一下(详细地说,因为我是一个noob),我需要做什么来配置它们,以及我必须对我的代码进行的更改?