- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在开发一个涉及服务器和客户端的程序,我尝试监听一个端口,然后从客户端向该端口发送消息。但是,这样做时我得到了 NoRouteToHostException
。我制作了一个简单的客户端和服务器应用程序来测试我是否可以为给定的服务器和客户端发送和接收消息。
服务器:
public class Server{
public static void main(String [] args) throws Exception{
ServerSocket s = new ServerSocket(8001);
s.accept();
}
}
客户:
public class Client{
public static void main(String [] args){
Socket s = new Socket(IP, port);
PrintWriter p = new PrintWriter(s.getOutputStream(), true);
p.println("Hello World");
s.close();
}
}
Exception in thread "main" java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
我尝试对服务器执行 ping 操作,结果也成功了。另外,如果我在本地主机上运行客户端,我不会得到异常。当客户端在不同的系统上运行时,我只会得到异常。
编辑在 8080 上运行服务器时,它可以工作。我尝试通过执行 iptables --policy INPUT ACCEPT
允许所有传入连接到服务器,但这仍然不允许我在端口 8001 上监听
最佳答案
只有当端口由于中间的防火墙而无法访问时,才会发生这种情况。这个防火墙可以在任何地方,甚至在客户端或服务器机器上。ping
是检查主机是否可以访问,但是8001 端口不能访问。从ping
可以确认主机是可以访问的。
尝试在另一个通常开放的端口(例如 80、443、8080 等)上运行服务器程序。网络/防火墙管理员通常允许打开和访问这些端口。请注意,对于端口 80、443(任何小于 1024 的端口)将需要根访问权限才能绑定(bind)到它(在服务器上)。
关于java - 客户端中的 NoRouteToHostException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27221290/
我在elasticsearch.yml中具有以下配置- 服务器1:- cluster.name: rhel node.name: "node-1" network.host: 172.23.83.12
我得到了 Caused by: java.net.NoRouteToHostException: No route to host at java.net.PlainSocketImpl.socket
我正在开发一个涉及服务器和客户端的程序,我尝试监听一个端口,然后从客户端向该端口发送消息。但是,这样做时我得到了 NoRouteToHostException。我制作了一个简单的客户端和服务器应用程序
披露:我正在编写的代码用于大学类(class)。 背景:我要完成的任务是报告不同线程技术的效果。为此,我编写了几个类,它们使用 Java 套接字响应来自客户端的请求。这个想法是用请求淹没服务器并报告不
我正在从远程位置获取 XML 文档。该文档以字符串形式返回。之后,我尝试使用 java xml 解析器解析该字符串。然而,有时解析会因 java.net.NoRouteToHostException
我想配置我的 webstart app/jnlp,这样如果没有互联网连接可用,它将从缓存中启动。 然而,当我断开与 Internet 的连接时,我总是会收到 NoRouteToHostExceptio
尝试在 Linux (RHEL) 上打开多个输入流(在单独的线程中)时,我遇到了一个奇怪的问题。该行为在 Windows 上按预期工作。 我正在启动 3 个线程以打开到 3 个不同服务器的 https
我在 Centos 5.6 服务器上对 JBoss 6 进行远程 JMX 调用时遇到问题。我以前在 Debian 服务器上运行相同的应用程序时能够做到这一点。 ./twiddle.sh --serve
[2015-10-11 13:08:26,587][WARN ][transport.netty ] [Joseph] exception caught on transport l
我在使用此组合时遇到问题:我想将发送和接收数据报 channel 绑定(bind)到系统选择的端口和 IP(不是 环回和不是 localhost )。在下面的示例中,当我使用“旧 I/O”又名 Dat
我正在开发一个 Springboot 应用程序,它接收请求并对请求参数进行一些修改并将其发送到另一个 springboot 应用程序。这两个应用程序都位于同一台 Linux Redhat 机器上。 我
我在CentOS7.0上安装了hadoop 2.5.1 我正在使用 3 台具有以下主机文件的计算机,与所有 3 台计算机相同 我没有使用 DNS。 XXX.XXX.XXX.65 mccb-com65
提前为此处的数据转储道歉。我有两台安装了 Zookeeper 的服务器。我想将它们作为一个整体运行。这是我的 zoo.cfg 中的内容。 tickTime=2000 initLimit=10 sync
当尝试在Android中使用resttemplate消耗restservice时,出现上述异常。以下是一段代码。 private class HttpRequestTask extends Asyn
我有一个类,如果存在连接,则从 URL 返回数据字符串,如果没有连接,则返回 null。 我的问题是我正在检查: if (str == null) { System.out.println("E
最近几天,我的 Docker 容器 (SonarQube) 在启动后几秒钟就崩溃了。似乎无法再连接数据库容器了。我怎样才能将它们重新连接在一起? MySQL容器运行命令: docker run -d
我创建了一个带有 HelloController 的简单 Spring 启动应用程序。 Get API: http://localhost:8080/hello Response: Hello Wor
我正尝试在 openshift 上从 eclipse 部署我的 Jersey 项目,但尾文件中出现此错误 Caused by: java.net.NoRouteToHostException: No
我正在运行 stress test在 Amazon EC2 中的 Openfire 上,在连接 28.000 次后,我的压力测试重置并且出现此错误。 这是什么? 最佳答案 据我了解,您的机器用完了可用
就是这样。我以前从未见过。我正在尝试 Tcp 打洞。 一个客户端应该既是客户端又是服务器(对于其他客户端)。 我遇到了这个异常。有没有人知道这个问题? java.net.NoRouteToHostEx
我是一名优秀的程序员,十分优秀!