Java网络连接-无进一步信息错误



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

我已经转发了路由器端口,并在防火墙上设置了适当的规则等。以这种方式连接Java有什么限制吗?我可以进行外部连接,但不能进行内部连接。有什么想法可能导致这个问题吗?

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

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

无论是在我自己的电脑上,还是在我设置好后让人们进行外部连接,我都能完美地工作。

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

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

或再次检查防火墙

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

最新更新