问题描述
我已经使用 Spring WebSocket 和 STOMP 实现了一个 WebSocket 服务器。单个会话中有多个订阅,我只想向特定订阅发送消息。
重现步骤:
SUBSCRIBE
country:germany
id:sub-0
destination:/user/queue/countryUpdates
SUBSCRIBE
country:france
id:sub-1
destination:/user/queue/countryUpdates
SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(SimpMessageType.MESSAGE);
accessor.setNativeHeader("id",subscriptionId);
accessor.setNativeHeader("subscription",subscriptionId);
accessor.setSubscriptionId(subscriptionId);
accessor.setLeaveMutable(true);
messagingTemplate.convertAndSendToUser(simpuserId,REPLY_DESTINATION,message,accessor.getMessageHeaders());
我尝试过的:如果我将国家/地区添加到目的地,则每个订阅都有唯一的目的地,而不会有重复的消息。
我想使用 id/subscriptionId 来确定订阅并向该特定订阅发送消息。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)