在Spring中定义“仅发送”WebSocket服务器

时间:2014-08-28 12:03:29

标签: java spring spring-mvc websocket spring-websocket

我想在 Spring Web (由 Spring Boot 管理)中实现一个 WebSocket 服务器,该服务器只允许连接的客户端接收数据流,例如简单的纯文本或 STOMP 消息。 我在官方网站上阅读 documentation guide ,但在这些情况下,他们会考虑进行双向对话(客户端也可以向服务器发送消息。)

  1. 对于我的场景,以正确的方式表示WebSockets(是的,我是这个领域的新手)?

  2. 如果是,我该如何实现WebSocket?我应该定义一个 @Controller处理程序

  3. 此外,是否可以仅允许通信进行通信 给定客户端(通过设置路由,IP地址,令牌等)?

  4. 干杯,V。

1 个答案:

答案 0 :(得分:3)

  1. "接收数据流"是您的方案的技术解决方案,但不是方案本身。所以我无法回答这个问题。

  2. 只有传入请求才需要控制器。在您的情况下,客户端将订阅主题,服务器将发布数据。为此,您可以按 20.4.2通过WebSocket启用STOMP 中所述注册代理。然后按照 20.4.5发送消息中的说明将数据发送到该代理/主题。然后经纪人交付给客户。这将是使用STOMP的解决方案。使用Websocket直接,您可以自己使用。

  3. 是的,但这不是Spring的websocket支持的一部分。如果您愿意,可以使用Spring Security。

  4. 它的价值:无论你如何处理它,websocket连接总是双向的。