有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java游戏socket网络路由器问题

你好, 我有一个java游戏,我想和一个朋友通过网络玩,我已经在我的电脑上使用localhost作为地址实现了Sockets并测试了该游戏,但无法连接到我朋友电脑的外部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);
}

我现在得到的例外是

爪哇。网ConnectException:连接超时:连接 尝试初始化I/O时:

java.net.SocketException: Socket is not connected
java.net.Socket.getInputStream/java.net.Socket.getOutputStream

我已使用所选端口号(5555)设置端口转发,该端口号链接到我们两台机器上的内部ip

我有什么办法让它工作

增编: 我们还尝试使用Hamachi创建一个虚拟LAN,但这似乎有一个问题-我们无法相互ping,即使通过ping,它也会诊断出一个问题-

隧道: VPN域的tap设备已关闭 当地结果: 适配器配置: 无法获取适配器配置 流量测试:无法完成测试 同行结果:[160-056-951] 适配器配置:OK 流量测试:入站流量被阻止,请检查防火墙设置

我曾尝试关闭防火墙,hamachi问题更改为“无法获取适配器配置”,但没有结果。 然而,在我的电脑上,我的windows版本似乎没有正确显示防火墙设置,如果你认为这可能是一个问题,你能告诉我如何测试我的防火墙吗


共 (0) 个答案