java - 在 Spring 中定义一个 "send-only"WebSocket 服务器

标签 java spring spring-mvc websocket spring-websocket

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

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

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

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

干杯,V。

最佳答案

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

  2. 只有传入请求才需要 Controller 。在您的情况下,客户端会订阅一个主题,而服务器会发布数据。为此,您按照20.4.2 启用 WebSocket 上的 STOMP 中所述注册代理。然后按照20.4.5 发送消息 中的描述将数据发送到该代理/主题。经纪人然后交付给客户。那将是使用 STOMP 的解决方案。如果直接使用 Websocket,您就得靠自己了。

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

它的值(value):websocket 连接始终是双向的,无论您如何处理它。

关于java - 在 Spring 中定义一个 "send-only"WebSocket 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25548350/

相关文章:

java - MyBatis - 如何在 MyBatis 中使用 REF CURSOR?

java - 我怎样才能使 HashSet 作为 HashMap 的参数?

hibernate - Spring+Hibernate测试用例中重新加载数据库连接

java - 在Spring MVC中,对请求体使用Jaxb注释的正确配置是什么?

java - 使用 Spring 提交表单

java - 如何使用 Apache Httpclient 3 检索 Websphere TrustStore

java - 创建 TreeMap 可视化

java - 尝试从 JSON 数组获取对象值时观察到空指针

java - 在 Spring Data Query 中过滤子对象

java - Spring MVC 无法从 Controller 中的资源访问文本