完美解决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 相关文章推荐
JavaScript中继承的一些示例方法与属性参考
Aug 07 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
Oct 08 Javascript
js 实现菜单上下显示附效果图
Nov 21 Javascript
浅析JavaScript原型继承的陷阱
Dec 03 Javascript
Node.js的特点和应用场景介绍
Nov 04 Javascript
javascript实现的网站访问量统计代码
Dec 20 Javascript
Vue方法与事件处理器详解
Dec 01 Javascript
解决jquery appaend元素中id绑定事件失效的问题
Sep 12 jQuery
layer插件select选中默认值的方法
Aug 14 Javascript
JavaScript 继承 封装 多态实现及原理详解
Jul 29 Javascript
VUE+elementui面包屑实现动态路由详解
Nov 04 Javascript
webpack优化之代码分割与公共代码提取详解
Nov 22 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
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
基于PHPExcel的常用方法总结
2013/06/13 PHP
PHP常用的小程序代码段
2015/11/14 PHP
Zend Framework实现多文件上传功能实例
2016/03/21 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
一段利用WSH修改和查看IP配置的代码
2008/05/11 Javascript
JQuery的ajax基础上的超强GridView展示
2009/09/18 Javascript
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
JS对象转换为Jquery对象示例
2014/01/26 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
JavaScript设计模式之建造者模式实例教程
2018/07/02 Javascript
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
2020/12/02 Vue.js
python快速查找算法应用实例
2014/09/26 Python
python日志记录模块实例及改进
2017/02/12 Python
python书籍信息爬虫实例
2018/03/19 Python
安装python时MySQLdb报错的问题描述及解决方法
2018/03/20 Python
详解python中Numpy的属性与创建矩阵
2018/09/10 Python
python实现杨氏矩阵查找
2019/03/02 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
CSS3新属性transition-property transform box-shadow实例学习
2013/06/06 HTML / CSS
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
实习老师离校感言
2014/02/03 职场文书
四下基层实施方案
2014/03/28 职场文书
倡议书范文格式
2014/05/12 职场文书
小学校长先进事迹材料
2014/05/13 职场文书
2014年教师节寄语
2014/08/11 职场文书
房屋租赁委托书范本
2014/10/04 职场文书
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏