栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring WebSocket发送给特定的人

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring WebSocket发送给特定的人

在您的Websocket控制器中,您应该执行以下操作:

@Controllerpublic class GreetingController {    @Autowired    private SimpMessagingTemplate messagingTemplate;    @MessageMapping("/hello")    public void greeting(Principal principal, HelloMessage message) throws  Exception {        Greeting greeting = new Greeting();        greeting.setContent("Hello!");        messagingTemplate.convertAndSendToUser(message.getToUser(), "/queue/reply", greeting);    }}

在客户端,您的用户应订阅主题/ user / queue / reply。

您还必须添加一些目标前缀:

@Configuration@EnableWebSocketMessageBrokerpublic class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {    @Override    public void configureMessageBroker(MessageBrokerRegistry config) {        config.enableSimpleBroker("/topic", "/queue" ,"/user");        config.setApplicationDestinationPrefixes("/app");        config.setUserDestinationPrefix("/user");    }}

当服务器在/ app / hello队列上收到消息时,它应该向dto中的用户发送消息。用户必须等于用户的主体。

我认为您代码中的唯一问题是您的“ /用户”不在目标前缀中。您的问候语消息被阻止,因为您将其发送到以/ user开头的队列中,并且未注册此前缀。

您可以在git repo上查看源代码:https : //github.com/simvetanylen/test-spring-
websocket

希望它能起作用!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431115.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号