Java 网络连接 - 无更多信息错误

Java Network Connection - No Further Information Error

好的,我有一个 java 服务器设置,使用端口 6567 和 IP 地址 0.0.0.0 来接受任何连接。当我尝试通过我的本地网络 (192.168.1.15) 连接时,我可以使用服务器正常连接。但是,当我切换到非本地 IP 地址(我的路由器 public IP)时,我无法连接到它。

我已转发路由器端口,并在我的 firewall/etc 上制定了适当的规则。 Java 以这种方式连接是否有任何限制?我可以在外部连接,但不能在内部连接。关于可能导致此问题的原因有什么想法吗?

我开始认为这可能是路由器特有的问题,因为它可能拒绝连接,但我目前无法测试。

嗯,我不确定,但也许这会有所帮助。

最有可能的是,您的 ServerSocket 绑定到一个本地 IP 地址(例如 0.0.0.0)并且 ServerSocket 绑定到那里的端口地址;并且不会响应来自 IP 地址的任何请求。尝试 new ServerSocket(4444, 50, InetAddress.getByAddress(new byte[] { YOU IP ADDRESS }).

或再次检查防火墙

编辑:告诉我你是如何尝试从本地以外的其他 IP 连接的?

原来只是路由器本身拒绝使用外部 IP 地址的内部连接。我个人的解决方法是添加一些测试代码,如果在本地机器上自动将 IP 更改为 127.0.0.1 而不是外部 IP。

在我自己的 PC 上以及在我设置好后让人们从外部连接都完美无缺。