Android 连接到服务器端口 8080 的应用
Android app that connects to server port 8080
所以我在业余时间一直在开发和 android 应用程序来取乐。此应用程序打开到我的家庭服务器的连接,该服务器是 运行 一个 java 程序,进行一些计算并发送响应。问题是我不想使用端口 80。如果单元格 phone 在 WiFi 上,我可以使用我想要的任何端口进行连接,比如 8080。这适用于任何 WiFi 连接,即使是在我的家庭网络之外。但是切换到4G,连接失败。
服务器:8080
- Phone 在 WiFi 上(任何)- 有效
- Phone 4G - 失败
服务器:80
- Phone 在 WiFi 上(任何)- 有效
- Phone 4G - 有效
我将我的服务器切换为侦听端口 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,确实不允许某些端口号。
所以我在业余时间一直在开发和 android 应用程序来取乐。此应用程序打开到我的家庭服务器的连接,该服务器是 运行 一个 java 程序,进行一些计算并发送响应。问题是我不想使用端口 80。如果单元格 phone 在 WiFi 上,我可以使用我想要的任何端口进行连接,比如 8080。这适用于任何 WiFi 连接,即使是在我的家庭网络之外。但是切换到4G,连接失败。
服务器:8080
- Phone 在 WiFi 上(任何)- 有效
- Phone 4G - 失败
服务器:80
- Phone 在 WiFi 上(任何)- 有效
- Phone 4G - 有效
我将我的服务器切换为侦听端口 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,确实不允许某些端口号。