SimpMessagingTemplate.convertAndSendToUser 不工作

问题描述

我正在构建 Websocket 聊天应用程序,但我遇到了问题,如果您能给我一点帮助,我真的很感激它...

这是我点击 sendMessage btn 时的第一个 javascript 函数

function send() {

    var text = $("#write_msg").val();
    if (selectedUser == null) {
        alert('Please select a user.');
        return;
    }
    stompClient.send("/app/chat",{'sender': userName},JSON.stringify({ 'from': userName,'text': text,'recipient': selectedUser }));
    $("#write_msg").val("");
}

然后是服务器端

@MessageMapping("/chat")
    public void send(String sender,@Payload ChatMessage chatMessage) throws Exception {

        ChatMessage message = new ChatMessage(chatMessage.getFrom(),chatMessage.getText(),chatMessage.getRecipient());
        if (!sender.equals(chatMessage.getRecipient())) {
            webSocket.convertAndSendToUser(sender,"/queue/messages",message);
        }
        webSocket.convertAndSendToUser(chatMessage.getRecipient(),message);
    }

并且我检查了服务器端是否工作正常,我发现它工作得很好

但是问题是convertAndSendToUser好像不行,订阅端是这样的

stompClient.subscribe('/user/queue/messages',function (output) {
                    alert(output);
                    showMessage(createTextNode(JSON.parse(output.body)));
                });

目标映射似乎正确,但即使服务器端工作完成,警报也不会出现

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)