繁体   English   中英

Android http服务器无法间歇性地从网络上的其他设备访问

[英]Android http server not accessible from other devices on network intermittently

我正在使用NanoHTTPD在Android应用程序中呈现Web服务器。 我正在使用wifi锁来保持网络活跃,并使用CPU锁定以保持CPU清醒,并通过前台服务保持其运行,以便它永远不会死亡。

我发现它可以从其他设备访问半小时,然后半小时无法访问。 每当它变得无法访问时,我可以在Android设备上打开safari并浏览到0.0.0.0:30000并验证服务器确实在运行。 我也检查确保wifi连接似乎是。

有什么建议去哪儿看?

我不知道它停止工作的确切原因。 有一些方法可以保持服务运行,但是如果这可以帮助您,请在您的活动onCreate中尝试这一行代码

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

调试建议

当它变得无法访问时,您能验证网络连接是否真的有效吗? 不只是在UI中显示为“已连接”,而且实际上使用HTTP连接到远程服务器。 当您这样做时,您的本地HTTP服务器是否突然可以从远程访问? 在戳戳时,您可以远程观察您的服务器:

watch curl http://{android_ip}:3000/

你是保持屏幕开启还是屏幕关闭? 它可能是PowerLock的错误实现。

其他无线路由器会发生这种情况吗? 这可能是Wifi省电模式(PSM)的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM