3

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

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

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

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

干杯,V。

4

1 回答 1

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

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

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

值得一提的是:无论您如何处理,websocket 连接始终是双向的。

于 2014-08-28T12:46:02.983 回答