Java网络连接 - 没有更多信息错误
好的,我有一个使用端口6567和IP地址0.0.0.0的java服务器设置,以接受任何连接。当我尝试通过本地网络(192.168.1.15)进行连接时,使用服务器可以很好地连接。但是,当我切换到非本地IP地址(我的路由器公共IP),我无法连接到它。Java网络连接 - 没有更多信息错误
我有路由器端口转发和适当的规则就位在我的防火墙/等。以这种方式连接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连接比本地?
不知道它是否重要 - 据我所知,它可以与外部连接一起工作。当我测试了它到达服务器的端口转发成功。我唯一关心的是我想让它接受来自任何IP地址的连接(这是我认为0.0.0.0做的,是对的吗?)。 – Sh4d0wsPlyr 2015-02-06 21:26:14
你说关于绑定到0.0.0.0是不正确的,你的解决方案会抛出一个'BindException.' – EJP 2015-02-06 22:21:42
您没有正确设置端口转发或防火墙规则。 – EJP 2015-02-06 22:20:31
我完全禁用了我的测试防火墙 - 没有防火墙。我看不出我该如何搞砸端口转发,因为它在外部连接上工作得很好。更何况,如果我能够建立联系,我严重怀疑它与他们的问题。正如我的文章所说,我想知道Java特定问题或路由器特定问题。 – Sh4d0wsPlyr 2015-02-06 23:13:13