尝试套接字连接时出现Java异常

Eva*_*van 2 java sockets

我正在尝试与ip:端口建立套接字连接,并且它在我的一台计算机上都能正常工作.客户端首先使用套接字连接连接到服务器以进行登录; 之后,它期望来自服务器的传入连接并且它们是成功的.

但是,当我在另一台计算机上尝试它时,客户端成功登录了第一个连接,然后等待传入连接.在将启动连接的服务器端,我收到以下消息:

java.net.NoRouteToHostException

并且传入连接失败.

为什么会这样?这可能是防火墙问题吗?

s = new Socket(id, 4446);
BufferedWriter out1 = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader in1 = new BufferedReader(new InputStreamReader(s.getInputStream()));
Run Code Online (Sandbox Code Playgroud)

那是第46行

java.net.NoRouteToHostException: No route to host: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(Unknown Source)
        at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
        at java.net.PlainSocketImpl.connect(Unknown Source)
        at java.net.SocksSocketImpl.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at java.net.Socket.<init>(Unknown Source)
        at java.net.Socket.<init>(Unknown Source)
        at sample_server.doComms.run(doComms.java:46)
        at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

Ale*_*man 7

API中所述:

表示尝试将套接字连接到远程地址和端口时发生错误.通常,由于中间防火墙或中间路由器关闭,无法访问远程主机.

您很可能有防火墙或阻止连接的东西.如果您有一个真正快速,请尝试禁用一个,并看看它是如何工作的.如果它不起作用,那就是其他东西(完整的堆栈跟踪可能有助于你的问题的评论说).