【发布时间】:2013-12-18 05:52:21
【问题描述】:
我正在开发一个从连接到路由器开始的 Java 应用程序。 这是代码:
try {
Service service = new Service(new JIPImpl(new PacketHandlerIPv6()));
JOtionPane.showMessageDialog(null," Service Created " );
JenNetIPNetwork network = service.createNetwork(new InetSocketAddress("fd04:bd3:80e8:2:215:8d00:32:54ff", 1873));
Collection<Node> my_nodes = network.discoverNodes();
} catch (JipException e) {
JOptionPane.showMessageDialog(null,"Couldn't connect To The Router, Error: "+ e.getMessage() );
}
我得到的是第一条消息:“服务已创建”。 然后 service.create 没有执行并且抛出异常,这给了我消息:无法连接到路由器,错误:超时。
值得注意的是: 完全相同的 jar 文件在 Windows 7 上完美运行(最初开发的地方) 我只是在尝试在 Linux 上运行 jar 文件时遇到了这个问题。
当我在 android 上构建相同的程序时,我遇到了类似的问题,当我将互联网权限添加到清单时,它就解决了。是否应该添加类似的权限才能在 Linux 上使用互联网?
【问题讨论】:
-
尝试从你的 Linux 机器上 telnet 看看。
-
我怀疑这很可能是防火墙配置问题 - 检查您是否可以使用路由器制造商的软件在 Linux 机器和路由器之间实际通信,或者如果通过 Web 界面访问,则可以通过浏览器进行通信。还值得检查 Linux 框中的 IPv6 设置——确保它在正确的网络上有一个地址并且设置了适当的路由。
-
路由器可以正常浏览网页,使用 IPv4 ping 路由器也可以正常工作。但是,使用上述地址(ipv6)ping 不起作用!!!结果:ping:未知主机 fd04:bd3:80e8:2:215:8d00:32 是否仍然是防火墙配置问题
标签: java android linux sockets raspberry-pi