问题描述
我正在构建 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 (将#修改为@)