完美解决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 相关文章推荐
ASP中用Join和Array,可以加快字符连接速度的代码
Aug 22 Javascript
JavaScript 学习初步 入门教程
Mar 25 Javascript
我的javascript 函数链之演变
Apr 07 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
Sep 23 Javascript
js中的for如何实现foreach中的遍历
May 31 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
May 09 Javascript
AngularJS入门教程之过滤器详解
Aug 19 Javascript
jquery+css3问卷答题卡翻页动画效果示例
Oct 26 Javascript
手机端转换rem适应
Apr 01 Javascript
zTree树形插件异步加载方法详解
Jun 14 Javascript
javascript Function函数理解与实战
Dec 01 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
May 14 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
Yii配置文件用法详解
2014/12/04 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
JS event使用方法详解
2008/04/28 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
微信小程序实战之登录页面制作(5)
2020/03/30 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
vue.js实现的经典计算器/科学计算器功能示例
2018/07/11 Javascript
读懂CommonJS的模块加载
2019/04/19 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
javascript实现简单留言板案例
2021/02/09 Javascript
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
python实现简易版计算器
2020/06/22 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
Django Rest framework解析器和渲染器详解
2019/07/25 Python
python绘制封闭多边形教程
2020/02/18 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
车间主管岗位职责
2013/11/14 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
2014年惩防体系建设工作总结
2014/12/01 职场文书
优秀护士事迹材料
2014/12/25 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
导游词之太原天龙山
2020/01/02 职场文书
swagger如何返回map字段注释
2021/07/03 Java/Android
浅谈Redis的事件驱动模型
2022/05/30 Redis