首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试套接字连接时出现Java异常

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

Stack Overflow用户
提问于 2012-08-31 23:43:59
回答 2查看 21.7K关注 0票数 2

我正在尝试建立到ip:端口的套接字连接,但它在我的一台计算机上工作正常。客户端首先通过套接字连接连接到服务器以进行登录;之后,它将等待来自服务器的传入连接,并且这些连接都是成功的。

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

java.net.NoRouteToHostException

传入连接失败。

为什么会这样呢?会不会是防火墙问题?

代码语言:javascript
复制
s = new Socket(id, 4446);
BufferedWriter out1 = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader in1 = new BufferedReader(new InputStreamReader(s.getInputStream()));

那是第46行

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-31 23:46:36

API中所述

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

你很可能有一个防火墙或什么东西阻止了连接。如果你真的有一个,试着禁用它,看看它是如何工作的。如果它不起作用,那就是别的原因(完整的堆栈跟踪可能会有帮助,就像你问题上的评论所说的)。

票数 7
EN

Stack Overflow用户

发布于 2012-09-01 09:19:56

“没有到主机的路由”意味着你的主机甚至不知道如何联系目标。这是一个网络连接问题。不是防火墙问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12218648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档