0

tl;dr如何在任何给定时间从服务器查明 Android 设备是否在线?

我有一个应用程序,它需要始终连接互联网才能进行预订。用户还可以通过网站独立进行预订。

但是,如果 Android 设备上的 Internet 连接消失(边缘情况)——我仍然希望该设备继续离线运行(并在本地、离线进行预订),而网站将停止接受预订——因为 Android 设备不再连接到 Internet 并且可能会发生各种同步错误。

换句话说,Android 设备离线预订比网站预订更具优势。

因此,在设备上检索到 Internet 连接后,网站将继续正常运行。

建议的解决方案

我考虑了一些解决方案,其中可能包括从服务器向设备发送推送并在某个合理的时间段内等待响应(对某个端点的 HTTP 调用)。如果没有回复 - 设备离线,否则在线。还有其他更强大的建议吗?

4

1 回答 1

0

除了使用一些在 Android 上运行的代理并通知服务器它已打开之外,别无他法。

其他方式,更复杂的是使用“推送通知”(例如Meteor技术服务器端)。

关于服务器端 cron-job 的一些事情:

在数据库中的所有客户端上运行的独立进程,比如说每 1 天,并将每个客户端的最后一个“活着”消息(请求)与当前时间进行比较。

如果差值等于 1 周,则将客户端状态设置为“僵尸”。

于 2013-09-20T21:44:53.757 回答