我正在开发iOS应用程序,我想检查特定用户是否在线。 我的第一个想法是从应用程序到php页面周期性地发送五秒钟的异步连接,该页面通过插入当前日期和时间来更新数据库中的字段。然后,为了查看特定用户是否在线,应用程序每5秒从数据库中获取此数据并将其与当前时间进行比较:如果当前时间大于收集的数据(大于5秒),则表示用户离线,否则在线。这有效,但即时消息应用程序肯定不使用此方法,因为它太昂贵了。应该采用哪种方法?
我希望自己解释一下,谢谢!
答案 0 :(得分:1)
以下是我将如何解决问题:
我可以看到你带有时间戳的地方,但是世界各地的多个用户有多个连接,你必须对你的日期和时间宽容。时间条目和检查(但你似乎已经考虑到了这一点)因为某些用户的互联网需要比其他人更长的响应时间。
编辑:刚刚看到关于即时消息的lat位。根据我的经验,如果你在移动设备上,它并不总是即时的(在我看来,当我通过Facebook打开与我的手机上的某人聊天对话时,他们的在线状态直到我发送消息/每次都没有更新设定的时间)。有时我的手机到达计算机后30秒到30分钟后会收到消息。但这似乎是优先考虑的(即:如果我与有很多信息来回的人进行大谈话,沟通是非常即时的) - 我认为我会分享。