一聚教程网:一个值得你收藏的教程网站

热门教程

完美解决spring websocket自动断开连接再创建引发的问题

时间:2022-06-25 08:47:44 编辑:袖梨 来源:一聚教程网

问题:由于 web session 超时时间为 30 分钟,如用户在 web session 规定时间内没有退出系统,但由于其它原因 用户却断开的 websocket 的连接,如果用户还要聊天或是其它 websocket 方面的操作,那么就只能重新连接...

看代码:

 

 代码如下复制代码

varsocket;

var$ =function() {

 returndocument.getElementById(arguments[0]);

}

varlog =function(msg) {

 $("log").innerHTML ? $("log").innerHTML +="
"+ msg : $("log").innerHTML = msg;

}

varinitWebSocket =function() {

 if(window.WebSocket) {

  socket =newWebSocket("ws://127.0.0.1:8080/websocket");

  socket.onmessage =function(event) {

   varjson = JSON.parse(event.data);

   document.getElementById("message").value = json.message;

  };

  socket.onopen =function(event) {

   log("Web Socket opened!");

  };

  socket.onclose =function(event) {

   log("Web Socket closed.");

  };

  socket.onerror =function(event) {

   log("Web Socket error.");

  };

 }else{

  log("Your browser does not support Web Socket.");

 }

}

varsend =function() {

 vardata =function() {

  socket.send("{'send':1,'take':2,'message':"+ Math.random() +"}");

 };

 if(socket.readyState !== 1) {

  socket.close();

  initWebSocket();

  setTimeout(function() {

   data();

  }, 250);

 }else{

  data();

 };

  

}

window.onload =function() {

 initWebSocket();

}

 

热门栏目