Java 弹簧踩踏在网箱上——”;“私人”;消息传递

Java 弹簧踩踏在网箱上——”;“私人”;消息传递,java,spring,websocket,Java,Spring,Websocket,我正在进行WebSocket聊天。我制作了一个简单的程序,它可以向每个人发送每一条信息。但我正在尝试做一些类似于私人信息的事情,我真的不知道怎么做。我尝试过不同的选择,但我不知道如何让它起作用 这是我的密码: WebSocketConfig.java GreetingController.java 和my js函数连接并发送消息: function connect() { var socket = new SockJS('/gs-guide-websocket'); stompClient =

我正在进行WebSocket聊天。我制作了一个简单的程序,它可以向每个人发送每一条信息。但我正在尝试做一些类似于私人信息的事情,我真的不知道怎么做。我尝试过不同的选择,但我不知道如何让它起作用

这是我的密码:

WebSocketConfig.java

GreetingController.java

和my js函数连接并发送消息:

function connect() {
var socket = new SockJS('/gs-guide-websocket');
stompClient = Stomp.over(socket);
var theUserId = 1;
stompClient.connect({user:theUserId}, function (frame) {
    setConnected(true);
    console.log('Connected: ' + frame);
    //stompClient.subscribe('/topic/greetings', function (greeting) {
    stompClient.subscribe('/topic/greetings', function (greeting) {
        showGreeting(JSON.parse(greeting.body).content);
    });
});
}


function sendName() {
stompClient.send("/app/hello", {}, JSON.stringify(
        {
            'from_user_id': parseInt($("#from_user_id").val()), 
            'message': $("#message").val(),
            'to_user_id': parseInt($("#to_user_id").val())
        }));
}
如何让私人信息发挥作用?有人能给我解释一下它应该如何工作吗


干杯,安德鲁

我们可以使用SimpMessageTemplate将消息发送到适当的目标队列

文件::


相应地定义对客户端主题的订阅

谢谢!工作就像一个符咒:)
@Controller
public class GreetingController {

    @MessageMapping("/hello")
    @SendTo("/topic/greetings")
    public Greeting greeting(Message message) throws Exception {
        return new Greeting(message.getFrom_user_id(), message.getMessage(), message.getTo_user_id());

    }
}
function connect() {
var socket = new SockJS('/gs-guide-websocket');
stompClient = Stomp.over(socket);
var theUserId = 1;
stompClient.connect({user:theUserId}, function (frame) {
    setConnected(true);
    console.log('Connected: ' + frame);
    //stompClient.subscribe('/topic/greetings', function (greeting) {
    stompClient.subscribe('/topic/greetings', function (greeting) {
        showGreeting(JSON.parse(greeting.body).content);
    });
});
}


function sendName() {
stompClient.send("/app/hello", {}, JSON.stringify(
        {
            'from_user_id': parseInt($("#from_user_id").val()), 
            'message': $("#message").val(),
            'to_user_id': parseInt($("#to_user_id").val())
        }));
}
    @Autowired
    private SimpMessagingTemplate template;

    @MessageMapping("/hello")
    public void greeting(Message message) throws Exception {

     this.template.convertAndSend("/topic/"+message.getFrom_user_id(),message);

    }