如何使用基于REST的应用程序实现在线/离线功能?

时间:2015-08-19 12:03:45

标签: java web-services rest web-applications

我正在构建一个聊天功能(网络应用程序),用户在其中有一个他可以聊天的朋友列表。朋友可以在线或离线,比如Facebook。因为,应用程序是基于REST apis构建的,所以我不会保存会话,并且所有身份验证都是无状态的。

所以我的问题是,如何在列表中知道谁在线或离线?实现这个的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

通常,对于聊天应用程序,您只需在一段时间后从客户端向服务器发送消息,如果未收到消息,则用户处于脱机状态。

我不是Java开发人员,但建议您查看WebSockets聊天内容。希望它有所帮助。

答案 1 :(得分:0)

创建两个不同的频道类别,一个用于朋友,另一个用于实际消息。然后,您可以在朋友加入/离开时向朋友频道发送更新。

每个客户端将有两个订阅

例如/friends/xxx/chatMessages/xxx其中xxx是用户ID(或者可能是聊天室的名称)