Java 端口转发问题

Java 端口转发问题,java,android,port,forward,Java,Android,Port,Forward,我目前正在开发java PC/Android应用程序,服务器是用java编写的。当我开发PC客户端时,我正在本地主机12345上启动服务器,客户端可以毫无问题地连接到此服务器(使用相同的主机名和端口)。问题始于昨天,当时我试图使用android设备进行连接。我使用我的手机开发应用程序,并作为主机地址输入路由器的公共IP 89.xx.xx.xxx和PC客户端(12345)中的相同端口。当然,我在路由器上设置了端口转发(用于端口12344到12346),并在windows defender中为端口1

我目前正在开发java PC/Android应用程序,服务器是用java编写的。当我开发PC客户端时,我正在本地主机12345上启动服务器,客户端可以毫无问题地连接到此服务器(使用相同的主机名和端口)。问题始于昨天,当时我试图使用android设备进行连接。我使用我的手机开发应用程序,并作为主机地址输入路由器的公共IP 89.xx.xx.xxx和PC客户端(12345)中的相同端口。当然,我在路由器上设置了端口转发(用于端口12344到12346),并在windows defender中为端口12345上的任何连接类型创建了规则。但仍然没有成功。这很奇怪,因为在我开发其他应用程序之前大约8个月,一切都正常。奇怪的是,当我第一次启动服务器和PC客户端时,没有windows提示窗口(win defender提示允许我的应用程序连接到internet)。我认为路由器的转发有问题(因为在本地主机上它工作正常),但我不知道还能做什么。我在转发旁边打开了UPnP。我的路由器是汤姆森TWG850-4U。几秒钟后,我的android应用程序出现超时异常

你确定你的服务器绑定了0.0.0.0(接受任何接口上的传入连接)而不是127.0.0.1(只接受本地主机连接)?

如果您已经绑定到0.0.0.0,请尝试将路由器设置为DMZ您的PC IP地址,并查看是否允许连接。

我在服务器套接字绑定中将localhost更改为0.0.0.0(如果这是您的意思),但它仍然无法连接我以前尝试过,但没有区别。仅供参考,当我打开DMZ时,我离开了端口转发,为了连接,我使用了路由器公共IP。如果您在网络上发出这些请求,您应该使用计算机LAN IP而不是路由器公共IP。您是否验证了您是否可以使用普通PC(而不是android应用程序)从外部连接到该服务器,只是为了确保问题与android设备用于连接的移动网络无关?