我刚用java中的服务器和客户端做了一个小聊天程序。客户端需要使用服务器的ip连接到服务器。我使用localhost(127.0.0.1)进行的所有测试都很顺利,但是当我稍后和我的一个朋友测试它时,我不得不注意到如果我把我的IP地址(我运行服务器,他运行)客户端)它不起作用。 有没有办法在我的电脑上设置一个私人小服务器来运行我的服务器,或者可能是另一种方式让它运行?
编辑:
刚刚找到一个名为“Apache”的工具来设置你自己的服务器,这可能会有所帮助吗?
编辑:当我说它不起作用时,我的意思是我得到一个IOException,因为这失败了:
public void connectToServer() throws IOException{
showMessage("Attemption to connect...");
connection = new Socket(InetAddress.getByName(serverIP), 6789);
showMessage("\nConnected to: " + connection.getInetAddress().getHostName());
}
答案 0 :(得分:1)
在应用程序运行之前,您需要查看大量内容。
首先,看看你是否可以ping对方的IP地址并从中获取它。
答案 1 :(得分:1)
我建议您先尝试禁用防火墙。如果您使用的是Windows,请按以下说明关闭Windows防火墙:Turn Windows Firewall on or off
如果您正在与本地网络之外的人进行测试,则可能需要在托管服务器的人的路由器上设置NAT。您可以通过在Web浏览器中键入其本地IP地址来访问路由器。这通常类似于192.168.1.1或192.168.1.254,但它取决于模型和网络设置。
连接后,您应找到“NAT”或“端口转发”的选项(通常在高级版本下)。我建议您使用路由器型号进行谷歌搜索以及如何设置端口转发。
您还需要注意,某些ISP会阻止某些端口。我建议在端口80(HTTP)等公共端口上进行测试,因为ISP不太可能阻止这种情况(请注意,您需要禁用Skype或任何本地Web服务器来测试它)