我使用彈簧websockets使用stomp和sockjs而沒有彈簧安全性。當我有一個我的應用程序在瀏覽器中,然後建立新的套接字連接,但是當我在同一瀏覽器中打開另一個選項卡時,它也創建新的套接字連接。所以我想停止此行爲並希望它使用相同的連接ID從這個博客開闢了新tab.Its聊天app.Using代碼:使用stomp和sockjs的彈簧websockets在打開新標籤時創建新連接
https://github.com/salmar/spring-websocket-chat
誰能給我工作的代碼如何存儲的localStorage的連接n檢索的localStorage在新標籤中存儲的套接字連接?
function connect() {
var socket = new SockJS('/spring-mvc-java/chat');
stompClient = Stomp.over(socket);
stompClient.connect({}, function(frame) {
console.log('Connected: ' + frame);
stompClient.subscribe('/topic/messages', function(messageOutput) {
showMessageOutput(JSON.parse(messageOutput.body));
});
});
}
您需要存儲該連接ID,以便可以跨標籤共享。 LocalStorage是最簡單的解決方案。 – 11thdimension
可以嗎?請給我提供任何示例鏈接? – javaquest
好吧,假設你有連接id'id_1',那麼你可以使用'localStorage.setItem('conId','id_1')'將它存儲在LocalStorage中,以在另一個選項卡中獲得這個ID,你可以使用'localStorage.getItem ( 'conId')'。使用這個ID你將不得不使用這個保存的連接ID在選項卡中打開新的WebSocket連接。 – 11thdimension