我想编写在用户之间进行消息传递的应用程序, 用户之间发送的消息有3种类型
我的应用程序将在RDBMS中保存消息。当新消息发送和接收者用户在线时,我的应用程序将通知用户新消息接收,我决定使用Spring Websocket和Stomp。我的应用程序使用spring security编写我的应用程序,并且我希望在组中显示在线用户并直接用于每个其他成员 我的问题是我需要多少端点和经纪人?怎么能做到这一点。
更新
当用户登录消息可能从直接或群组或频道接收时,我的应用程序类似于gitter和slack。当我在用户和群组或频道之间切换时,我将取消订阅,并订阅我聊天的用户或群组。我不知道订阅和取消订阅是正确的,或只是一个订阅所有人。 这种用法是否正确?
chatSocket.subscribe("/user/exchange/direct/chat.message/{userId}", function(message) {});
chatSocket.subscribe("/topic/group/chat.message/{groupId}", function(message) {});
答案 0 :(得分:2)
存储消息的选项可能是添加频道拦截器。建立websocket连接时,让用户订阅应用目的地,并发送在线时发送的存储消息。
此示例应用程序可以为您提供一些提示:https://github.com/salmar/spring-websocket-chat