tl; dr 如果在任何时候Android设备是否在线,如何从服务器中查找?
我有一个应用程序,它始终需要互联网连接才能进行预订。用户还可以从网站上独立进行预订。
然而,如果Android设备上的互联网连接消失(边缘情况) - 我仍然希望该设备继续离线操作(并在本地进行预订,离线),而网站将停止接受预订 - 因为Android设备不再连接到互联网,可能会发生各种同步错误。
换句话说,Android设备离线预订优于网站预订。
因此,在设备上检索到Internet连接后,网站将继续正常运行。
建议的解决方案
我想到了一些解决方案,其中包括在某个合理的时间段内从服务器向设备发送推送并等待响应(对某个端点的HTTP调用)。如果响应没有回来 - 设备离线,否则它在线。还有其他更强大的建议吗?
答案 0 :(得分:0)
除了在Android上使用某些代理程序运行并通知服务器它已启用时,无所事事。
其他方式,更复杂的是使用“推送通知”(例如Meteor技术服务器端)。
关于服务器端cron-job的事情:
在数据库中运行所有客户端的独立进程,让我们说每1天,并为每个客户端比较当前时间的“im alive”meassage(请求)。
如果差异等于1周,则将客户端状态设置为“Zombie”。