首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring + Websocket (SockJS)

Spring + Websocket (SockJS)
EN

Stack Overflow用户
提问于 2015-05-13 11:40:54
回答 1查看 7.9K关注 0票数 6

我正在尝试制作一个服务器,在发生更改时通知连接的客户端。为此,我使用Spring作为服务器。为了传递通知,每个客户端都与服务器建立一个套接字。我使用了这个指南:https://spring.io/guides/gs/messaging-stomp-websocket/,它工作得很完美。在本例中,客户端通过套接字发送消息,服务器响应。

  1. 问题是,如果没有客户端首先发送消息,我就无法找到服务器向客户端发送消息的方法!
  2. 是否可以列出所有连接的websockets?

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-15 12:56:49

我的回答是:

  1. 客户端不需要发送消息,但它们必须连接和订阅。我实际上是在一个浏览器连接和订阅并开始发送消息的应用程序中这样做的。在服务器端,您可以使用SimpMessagingTemplate对象自动创建服务(或其他组件),然后使用convertAndSend系列函数向特定用户或所有订阅者发送服务。如果您签出投资组合项目,您可以看到如何处理price.stock主题。客户端连接和订阅,服务器有一个预定的任务发送给它。此服务使用的是MessageSendingOperations对象,但您可以使用上面提到的SimpMessagingTemplate。我在我们的应用程序服务中有以下代码: @自动毛私人SimpMessagingTemplate messagingTemplate;messagingTemplate.convertAndSendToUser(userId,目的地( jsonMessage);
  2. 这个问题有一些关于查找所有用户的好信息。如果需要的话,您似乎需要使用关于STOMP上下文事件的春季文档中定义的事件来自己跟踪事情。通常,由于这是一个订阅模型,您可能不需要知道谁是连接的。您还可以构建自己的主题,向所有客户发送请求,以响应并查找他们的帖子。我本人并没有这样做,但罗森(评论员之一)是该项目的主要作者之一,所以我相信他!

希望这能帮上忙。让我知道。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30213748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档