美好的一天, 我有一个java游戏,我想通过网络与朋友一起玩,我已经实现套接字并使用localhost作为地址在我的电脑上测试游戏,但是无法连接到我朋友的外部IP电脑,可能是因为我们都落后于路由器。 这是主机/客户端的代码:
客户端:
try {
socket = new Socket(inputHostIp(), 5555);
} catch (IOException e) {
e.printStackTrace();
}
服务器:
try {
hostServer = new ServerSocket(5555);
} catch (IOException e1) {
e1.printStackTrace();
}
listenForUserConnection();
while (true) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
}
Socket socket = null;
try {
socket = hostServer.accept();
} catch (IOException e) {
e.printStackTrace();
continue;
}
joined(socket);
}
我现在得到的例外是
java.net.ConnectException:连接超时:连接 在尝试初始化I / O时:
java.net.SocketException: Socket is not connected
java.net.Socket.getInputStream/java.net.Socket.getOutputStream
我已经设置了端口转发,所选端口号(5555)链接到我们两台机器上的内部IP。
我有什么选择让它发挥作用?
附录: 我们也尝试过使用Hamachi来创建一个虚拟局域网,但似乎存在一个问题 - 我们不能相互ping通,即使这样,它也会出现问题 -
隧道: VPN域的分支设备已关闭 本地结果: 适配器配置: 无法获得适配器配置 流量测试:无法完成测试 同行结果:[160-056-951] 适配器配置:好的 流量测试:阻止入站流量,检查防火墙设置
我试过关闭防火墙,hamachi问题改为'无法获得适配器配置',但是没有结果。 但是,在我的电脑上,我有一个版本的Windows似乎没有正确显示防火墙设置,如果你认为它可能是一个问题,你能告诉我如何测试我的防火墙吗?