Spring websockets 和群消息
Spring websockets and group messages
我想使用 Spring websockets 实现聊天。实施群组的最佳方式是什么?
- 为
/group/{groupname}/queue/*
这样的 URL 注册一个新的 UserDestinationMessageHandler
并创建一个新的 UserDestinationResolver
。有这方面的例子吗?
- 使控制器实现
ApplicationListener<SessionConnectedEvent>
。但是如何从事件中获取会话属性?
在这两个选项中,我都考虑到我会将用户所属的组注册到会话属性中。
我最终创建了一个由消息代理管理的目的地,如“/topic/group/{name}/message”,并让用户订阅了它。
要发送消息,您可以将它发送到相同的目的地,或者您可以将它发送到像“/app/message”这样的目的地并让它从那里转发。后一个选项的优点是您可以过滤消息。
我想使用 Spring websockets 实现聊天。实施群组的最佳方式是什么?
- 为
/group/{groupname}/queue/*
这样的 URL 注册一个新的UserDestinationMessageHandler
并创建一个新的UserDestinationResolver
。有这方面的例子吗? - 使控制器实现
ApplicationListener<SessionConnectedEvent>
。但是如何从事件中获取会话属性?
在这两个选项中,我都考虑到我会将用户所属的组注册到会话属性中。
我最终创建了一个由消息代理管理的目的地,如“/topic/group/{name}/message”,并让用户订阅了它。 要发送消息,您可以将它发送到相同的目的地,或者您可以将它发送到像“/app/message”这样的目的地并让它从那里转发。后一个选项的优点是您可以过滤消息。