2013-05-03 45 views
1

我正在构建一个android应用程序,服务器需要知道用户是否仍处于在线状态。 您可以将其与Android上的Facebook聊天进行比较。如果用户在应用程序上,其他用户可以看到他在线。但是,当用户失去互联网连接或关闭应用程序时,服务器需要知道他不再上网。Android:如何让服务器知道用户仍在线?

这样做的最好方法是什么?

+3

每隔一段时间发一次心跳? (我不认为这里有任何“魔术”解决方案,你有具体的实现问题吗?) – 2013-05-03 15:38:16

+0

你的意思是例如发送一个帖子到每30秒一个PHP脚本? – 2013-05-03 15:40:16

+0

@KenVernaillen:我相信像你写的邮件发送到服务器是唯一的方法,但我会很高兴在这里,如果任何人在这里可以打开我们的眼睛到一些新的,我们不知道 – 2013-05-03 16:18:33

回答

1

这取决于您的服务器类型。例如,如果您使用sip,则可以在到期前发送注册消息来完成此操作。

但是一般来说,通常的做法是在很短的时间间隔内发送一个keep_alive消息。如果您使用任何第三方标准服务器,请阅读他们的文档并采用这种方式。如果您打算创建自己的服务器系统,则只需创建一个自定义的keep_alive消息格式并定期将其发送到服务器。

1

@Jeeten帕尔马

实施KEEP_ALIVE系统的一个简单方法是使用MQTT。 MQTT是一种机器对机器的互联网协议。

http://www.eclipse.org/paho/

当您在Android项目实施泛美卫生组织,您可以订阅MQTT服务器。 当客户端与互联网断开连接时,可以调用一个事件。你甚至可以设置一个lastwill消息。

您还可以设置保持活动时间间隔。 - >

http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html#keep-alive-timer

+0

非常感谢。我会看看。 – 2014-06-28 03:18:57

相关问题