Is there any way to do this?
Client side:
function connectWebSocket() {
var socket = new SockJS('/socket');
stompClient = Stomp.over(socket);
stompClient.connect({}, function (frame) {
console.log("connected");
});
}
Server side is not important. After the code above has been executed I need to know my session id.
解决方案
To get session id we need to make some changes into SockJS library.
The string
var connid = utils.random_string(8);
is used to get our id. So, we need only complete it like this:
var connid = utils.random_string(8);
that.sessionId = connid;
and then we can read this field from the client code:
function connectWebSocket() {
var socket = new SockJS('/socket');
stompClient = Stomp.over(socket);
stompClient.connect({}, function (frame) {
console.log("connected, session id: " + socket.sessionId);
});
}
And if we need to know session id before calling connect method we can modify SockJS' constructor and connect method to use client-passed value.