【问题标题】:WebSocket convertAndSendToUser can not received messageWebSocket convertAndSendToUser 收不到消息
【发布时间】: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);
    }
}

客户端收不到发送的消息。我尝试过的:

  1. config.enableSimpleBroker("/topic","/queue");中添加队列
  2. 订阅网址如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)}

【问题讨论】:

    标签: java websocket


    【解决方案1】:

    原因是url不对,在服务器上,发送参数应该是这样的:

    user: admin
    url: /location(right) vs /queue/location(wrong)
    

    在客户端,subsribe 应该是这样的:

    /user/admin/location or /user/{username}/location
    

    【讨论】:

      猜你喜欢
      • 2021-03-15
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 2013-11-12
      • 2019-09-22
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多