spring-websocket - Spring websocket 和群组消息

标签 spring-websocket

我想使用 Spring websockets 实现聊天。实现群组的最佳方式是什么?

  • 注册一个新的UserDestinationMessageHandler对于像 /group/{groupname}/queue/* 这样的 URL并创建一个新的 UserDestinationResolver 。有这方面的例子吗?
  • 使 Controller 实现 ApplicationListener<SessionConnectedEvent> 。但是如何从事件中获取 session 属性呢?

在这两个选项中,我都考虑到将用户所属的组注册到 session 属性中。

最佳答案

我最终创建了一个由消息代理管理的“/topic/group/{name}/message”之类的目的地,并让用户订阅了它。 要发送消息,您可以将其发送到同一目的地,也可以将其发送到“/app/message”等目的地并让它从那里转发。后一个选项的优点是您可以过滤消息。

关于spring-websocket - Spring websocket 和群组消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30031090/

相关文章:

java - 处理 STOMP SEND 时在 Spring 中获取 Websocket session 数据

javascript - 当 session 订阅事件发生时,stomp 客户端没有收到消息/通知

java - 必须在 servlet 上以及异步请求处理中涉及的所有过滤器上启用异步支持

spring - 如何使用带有 SSL 的 Spring WebSocketClient?

java - Spring Broker channel 访问

java - 如何限制客户端连接到我的 stomp websocket 处理程序?

Websocket : Is it possible to add multiple Endpoints using SockJS?

Java Spring MVC + Jetty Websocket 不兼容的方法签名

javascript - 使用 websocket 将客户端连接到服务器