我正在构建一个android应用程序,服务器需要知道用户是否仍处于在线状态。 您可以将其与Android上的Facebook聊天进行比较。如果用户在应用程序上,其他用户可以看到他在线。但是,当用户失去互联网连接或关闭应用程序时,服务器需要知道他不再上网。Android:如何让服务器知道用户仍在线?
这样做的最好方法是什么?
我正在构建一个android应用程序,服务器需要知道用户是否仍处于在线状态。 您可以将其与Android上的Facebook聊天进行比较。如果用户在应用程序上,其他用户可以看到他在线。但是,当用户失去互联网连接或关闭应用程序时,服务器需要知道他不再上网。Android:如何让服务器知道用户仍在线?
这样做的最好方法是什么?
这取决于您的服务器类型。例如,如果您使用sip
,则可以在到期前发送注册消息来完成此操作。
但是一般来说,通常的做法是在很短的时间间隔内发送一个keep_alive
消息。如果您使用任何第三方标准服务器,请阅读他们的文档并采用这种方式。如果您打算创建自己的服务器系统,则只需创建一个自定义的keep_alive
消息格式并定期将其发送到服务器。
@Jeeten帕尔马
实施KEEP_ALIVE系统的一个简单方法是使用MQTT。 MQTT是一种机器对机器的互联网协议。
当您在Android项目实施泛美卫生组织,您可以订阅MQTT服务器。 当客户端与互联网断开连接时,可以调用一个事件。你甚至可以设置一个lastwill消息。
您还可以设置保持活动时间间隔。 - >
http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html#keep-alive-timer
非常感谢。我会看看。 – 2014-06-28 03:18:57
每隔一段时间发一次心跳? (我不认为这里有任何“魔术”解决方案,你有具体的实现问题吗?) – 2013-05-03 15:38:16
你的意思是例如发送一个帖子到每30秒一个PHP脚本? – 2013-05-03 15:40:16
@KenVernaillen:我相信像你写的邮件发送到服务器是唯一的方法,但我会很高兴在这里,如果任何人在这里可以打开我们的眼睛到一些新的,我们不知道 – 2013-05-03 16:18:33