完美解决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 相关文章推荐
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
Nov 30 Javascript
js中的事件捕捉模型与冒泡模型实例分析
Jan 10 Javascript
jQuery蓝色风格滑动导航栏代码分享
Aug 19 Javascript
JavaScript基本的输出和嵌入式写法教程
Oct 20 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
Nov 30 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
Dec 04 Javascript
详解Angular中$cacheFactory缓存的使用
Aug 19 Javascript
关于 jQuery Easyui异步加载tree的问题解析
Dec 06 Javascript
vue子父组件通信的实现代码
Jul 09 Javascript
Vue之Watcher源码解析(2)
Jul 19 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
May 09 jQuery
JS实现音量控制拖动
Jan 15 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 class类的用法详细总结
2013/10/17 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
javascript 动态生成私有变量访问器
2009/12/06 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
2017/01/04 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
2020/04/09 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
pandas.dataframe按行索引表达式选取方法
2018/10/30 Python
详解python中sort排序使用
2019/03/23 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
Python pip 常用命令汇总
2020/10/19 Python
OpenCV+Python3.5 简易手势识别的实现
2020/12/21 Python
WiFi云数码相框:Nixplay
2018/07/05 全球购物
表彰先进集体通报
2014/01/12 职场文书
代办委托书怎么写
2014/08/01 职场文书
技术股份合作协议书
2014/10/05 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
2014年变电站工作总结
2014/12/19 职场文书
受资助学生感谢信
2015/01/21 职场文书
国际贸易实训总结
2015/08/03 职场文书
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers