我的答案:
- 客户端不需要发送消息,但必须连接并订阅。我实际上是在浏览器连接和订阅然后开始发送消息的应用程序中自己做的。在服务器端,您可以使用SimpMessagingTemplate对象将服务(或其他组件)自动连线,然后使用convertAndSend系列功能将内容发送给特定用户或所有订阅者。如果您检出投资组合项目,则可以看到price.stock主题是如何完成的。客户端连接并订阅,并且服务器有计划的作业要发送给它。该服务使用的是MessageSendingOperations对象,但是您可以使用SimpMessagingTemplate,如上所述。我的应用程序服务中有以下代码:
@Autowiredprivate SimpMessagingTemplate messagingTemplate;...messagingTemplate.convertAndSendToUser(userId, destination, jsonMessage);
- 这个问题对于找到所有用户都有一些很好的信息。似乎您需要使用Spring文档中有关STOMP上下文事件定义的事件,以便自己跟踪事情。通常,由于这是订阅模式,因此您可能不需要知道谁连接了。您还可以构建自己的主题,向所有客户发出请求以回复并查找他们的帖子。我本人还没有这样做,但是Rossen(评论员之一)是该项目的主要作者之一,所以我相信他!
希望这会有所帮助。让我知道。



