【发布时间】:2017-12-30 19:30:25
【问题描述】:
我正在使用 websocket 向客户端发送消息,当使用此方法向客户端广播消息时。
private void pushInfoImpl(String url, String content) {
if (simpMessagingTemplate != null) {
simpMessagingTemplate.convertAndSend(url, content);
}
}
客户端可以成功接收消息。使用此方法发送指定用户时:
//send url:/queue/location
//user:admin
private void pushInfoImpl(String user, String url, String content) {
if (simpMessagingTemplate != null) {
simpMessagingTemplate.convertAndSendToUser(user, url, content);
}
}
客户端收不到发送的消息。我尝试过的:
- 在
config.enableSimpleBroker("/topic","/queue");中添加队列 - 订阅网址如
stompClient.subscribe('/admin/queue/location', function (greeting) { console.log(greeting.body); });.admin 是用户。
我应该怎么做才能解决这个问题?使客户端成功接收到服务器消息。这是日志:
15:03:28.806]-[Timer-5699]-[org.springframework.messaging.simp.broker.SimpleBrokerMessageHandler]-{Processing MESSAGE destination=/queue/location-userdeqnkwuw session=null payload={"data":[{"status":2,"vehicleId":"cae21196-cb66-4256-88a6-7cdfb23e2c78"}],"desc"...(truncated)}
15:03:28.806]-[Timer-5701]-[org.springframework.messaging.simp.broker.SimpleBrokerMessageHandler]-{Processing MESSAGE destination=/queue/location-userdeqnkwuw session=null payload={"data":[{"status":2,"vehicleId":"cae21196-cb66-4256-88a6-7cdfb23e2c78"}],"desc"...(truncated)}
15:03:28.806]-[Timer-5699]-[org.springframework.messaging.simp.broker.SimpleBrokerMessageHandler]-{Processing MESSAGE destination=/queue/location-userdeqnkwuw session=null payload={"data":[{"status":2,"vehicleId":"cae21196-cb66-4256-88a6-7cdfb23e2c78"}],"desc"...(truncated)}
【问题讨论】: