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


Posted in Javascript onMarch 02, 2017

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

看代码:

var socket; 
var $ = function() { 
 return document.getElementById(arguments[0]); 
} 
var log = function(msg) { 
 $("log").innerHTML ? $("log").innerHTML += "<br />" + msg : $("log").innerHTML = msg; 
} 
var initWebSocket = function() { 
 if (window.WebSocket) { 
  socket = new WebSocket("ws://127.0.0.1:8080/websocket"); 
  socket.onmessage = function(event) { 
   var json = 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."); 
 } 
} 
var send = function() { 
 var data = 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(); 
}

以上这篇完美解决spring websocket自动断开连接再创建引发的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
比较不错的JS/JQuery显示或隐藏文本的方法
Feb 13 Javascript
js实现兼容IE和FF的上下层的移动
May 04 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 Javascript
JavaScript实现定时隐藏与显示图片的方法
Aug 06 Javascript
详解JS面向对象编程
Jan 24 Javascript
BootStrap下jQuery自动完成的样式调整
May 30 Javascript
JS区分Object与Aarry的六种方法总结
Feb 27 Javascript
微信小程序后台解密用户数据实例详解
Jun 28 Javascript
详解JS构造函数中this和return
Sep 16 Javascript
Vue.js中的computed工作原理
Mar 22 Javascript
vue项目中引入vue-datepicker插件的详解
May 14 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
May 12 Javascript
vue-dialog的弹出层组件
May 25 #Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
Mar 01 #Javascript
基于Bootstrap的网页设计实例
Mar 01 #Javascript
JS中的作用域链
Mar 01 #Javascript
javascript html5轻松实现拖动功能
Mar 01 #Javascript
详解数组Array.sort()排序的方法
May 09 #Javascript
JavaScript中数组Array.sort()排序方法详解
Mar 01 #Javascript
You might like
PHP在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
Yii使用技巧大汇总
2015/12/29 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
jQuery中$.each使用详解
2015/01/29 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
微信js-sdk地理位置接口用法示例
2016/10/12 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
Vue+elementUI实现多图片上传与回显功能(含回显后继续上传或删除)
2020/03/23 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
python寻找list中最大值、最小值并返回其所在位置的方法
2018/06/27 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
Python时间和字符串转换操作实例分析
2019/03/16 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
Python selenium的基本使用方法分析
2019/12/21 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
出纳岗位职责范本
2013/12/01 职场文书
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
基层工作经历证明
2014/01/13 职场文书
海飞丝的广告词
2014/03/20 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
教师节寄语2015
2015/03/23 职场文书
发票退票证明
2015/06/24 职场文书
spring cloud gateway中如何读取请求参数
2021/07/15 Java/Android