Android 连接到服务器端口 8080 的应用

Android app that connects to server port 8080

所以我在业余时间一直在开发和 android 应用程序来取乐。此应用程序打开到我的家庭服务器的连接,该服务器是 运行 一个 java 程序,进行一些计算并发送响应。问题是我不想使用端口 80。如果单元格 phone 在 WiFi 上,我可以使用我想要的任何端口进行连接,比如 8080。这适用于任何 WiFi 连接,即使是在我的家庭网络之外。但是切换到4G,连接失败。

服务器:8080



服务器:80


我将我的服务器切换为侦听端口 80,并将我的应用程序切换为使用相同的端口进行连接,现在连接可以在 4G 和 WiFi 上工作。

我是否缺少使其在不常见的端口上工作的东西?

或者这是 4G 连接的限制。

谢谢

我可以向您保证这不是 4G 的问题,它只是 IP 连接。端口是 UDP/TCP 的一部分,只是 "data" 到 IP 网络。

但是,您的手机 提供商 可能有防火墙阻止流量流向某些端口。 PortQuiz public 网站监听所有端口。使用 phone 上的浏览​​器,尝试连接到各种端口,看看哪些成功了,哪些失败了。

http://portquiz.net:8080 
http://portquiz.net:8 
http://portquiz.net:666 

如果您可以通过 WiFi 而不是蜂窝网络连接,那么您的提供商正在做他们不应该做的事情。

如果浏览器可以连接到你服务器的8080端口,而你的应用不能,那就是你的应用有问题。

我遇到了完全相同的问题 - "non-standard" 端口上的中间件服务 运行,例如 8081、8082、8997,..为了我的爱,我无法访问它们来自我的 phone,但前提是我已连接到蜂窝网络。我一直收到 504,网关超时。

我在我的 linux 服务器上 运行 tcpdump,我曾经 运行 我的微服务,甚至没有看到任何入站流量,所以我知道问题一定出在某个地方在那之前。

然而,有趣的是,如果我使用同一提供商从另一个 phone 制作热站,然后通过 WiFi 连接到该热站,它就可以工作。所以它不能特定于提供者。

无论如何,对于遇到同样问题的任何其他人 - 是的,如果连接到 celluar,确实不允许某些端口号。