完美解决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 相关文章推荐
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
Jan 29 Javascript
杨氏矩阵查找的JS代码
Mar 21 Javascript
整理Javascript数组学习笔记
Nov 29 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
纯js仿淘宝京东商品放大镜功能
Mar 02 Javascript
微信小程序实现MUI数字输入框效果
Jan 31 Javascript
详解Vue.js项目API、Router配置拆分实践
Mar 16 Javascript
深入了解javascript 数组的sort方法
Jun 01 Javascript
在Web关闭页面时发送Ajax请求的实现方法
Mar 07 Javascript
Vue 动态路由的实现及 Springsecurity 按钮级别的权限控制
Sep 05 Javascript
Vue常用的全选/反选的示例代码
Feb 19 Javascript
vue+koa2搭建mock数据环境的详细教程
May 18 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入门
2006/10/09 PHP
php提交post数组参数实例分析
2015/12/17 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
2017/01/17 PHP
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
js 距离某一时间点时间是多少实现代码
2013/10/14 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
jQuery实现自定义checkbox和radio样式
2015/07/13 Javascript
将页面table内容与样式另存成excel文件的方法
2015/08/05 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
AngularJS用户选择器指令实例分析
2016/11/04 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
vue 项目中使用Loading组件的示例代码
2018/08/31 Javascript
JavaScript中的回调函数实例讲解
2019/01/27 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
基于Vue 撸一个指令实现拖拽功能
2019/10/09 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
Windows下安装python2和python3多版本教程
2017/03/30 Python
Python正则抓取网易新闻的方法示例
2017/04/21 Python
使用python实现ANN
2017/12/20 Python
详解python的ORM中Pony用法
2018/02/09 Python
python实现简单遗传算法
2018/03/19 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
2019/08/01 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
2020/06/18 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
英国日常交易网站:Wowcher
2018/09/04 全球购物
linux面试题参考答案(2)
2015/12/06 面试题
如何掌握自荐信格式呢
2013/11/19 职场文书
银行出纳岗位职责
2013/11/25 职场文书
家庭教育的心得体会
2014/09/01 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
致运动员的广播稿
2015/08/19 职场文书
什么是求职信?求职信应包含哪些内容?
2019/08/14 职场文书
Java 超详细讲解数据结构中的堆的应用
2022/04/02 Java/Android