PC中断了与Android手机上运行的http服务器的间歇连接

时间:2018-06-22 05:03:03

标签: android httpserver nexus-5

简介

有时我无法从PC浏览器连接到运行在Android手机上的http服务器,但是当我无法通过PC浏览器连接时,仍然可以使用相同的ip:port组合从手机浏览器连接(LAN)。

详细信息

我的手机(Google Nexus 5X)上有一个运行在Android后台服务中的http服务器。通常情况下一切正常:我可以从手机和PC的浏览器连接到http服务器。

有时我无法从PC连接到http服务器。在使用下面详述的不可接受的解决方案之前,我将始终无法从PC连接到http服务器。一旦使用了该解决方案,我就可以从我的PC持续连接到http服务器,而不会出现任何问题,直到某个时候我再也无法这样做了。似乎每天下班回家时,直到使用了无法接受的解决方案,我才能从PC连接到手机的http服务器。我最好的猜测是,这个问题可能是由于一个小时没有连接到手机或切换wifi网络,但我不知道根本原因。

我尝试过的事情

在所有这些示例中,我手机的wifi局域网ip是192.168.1.20(路由器中的静态条目),而我应用的http服务器正在端口8081上运行。http服务器正在我的手机上运行,​​但是我无法通过192.168.1.20:8081(connection refused (ERR_CONNECTION_REFUSED))从PC浏览器连接到http服务器。

1。通过手机的浏览器连接到互联网

假设:也许我的手机只是关闭了与wifi的连接以节省电力。

测试:在手机上打开浏览器并加载google.com。我的手机的浏览器能够毫无问题地加载google.com,它的wifi局域网ip是192.168.1.20,但是我仍然无法通过PC的浏览器连接到192.168.1.20:8081。

2。从手机的浏览器连接到192.168.1.20:8081

测试:从手机的浏览器连接到192.168.1.20:8081。我可以从http服务器成功加载页面。因此,我的电话正在使用该LAN ip,并且我的服务器确实在此端口上运行。但是,这样做之后,我仍然无法从PC浏览器连接到192.168.1.20:8081。相同的连接被拒绝。

3。重新启动手机应用程序

测试:重新启动应用程序,释放http端口并再次绑定到该端口。没运气。我无法从PC浏览器连接到192.168.1.20:8081。重新启动后,我仍然可以从手机的浏览器连接到192.168.1.20:8081。

4。关闭手机的wifi,然后重新打开(WORKS)

测试:下拉android系统托盘。单击wifi按钮以关闭wifi。再次单击wifi按钮以重新打开wifi。成功!我可以再次从PC浏览器连接到192.168.1.20:8081。

问题

我希望将我的应用程序变成可公开使用的应用程序,并且当这种情况出现时,用户必须打开和关闭其wifi是不可接受的。我需要更好的解决方案。

你知道发生了什么吗?

我认为android设备正在拒绝来自网络的所有传入连接。如果是这样,您知道如何告诉android重新允许来自设备外部的连接吗?

0 个答案:

没有答案