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

发布时间 - 2026-01-10 23:22:18    点击率:

问题:由于 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自动断开连接再创建引发的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# spring  # websocket  # php使用websocket示例详解  # Javascript WebSocket使用实例介绍(简明入门教程)  # Nginx反向代理websocket配置实例  # Python通过websocket与js客户端通信示例分析  # 使用Java和WebSocket实现网页聊天室实例代码  # Java后端Tomcat实现WebSocket实例教程  # Android中使用WebSocket实现群聊和消息推送功能(不使用WebView)  # 让ie6也支持websocket采用flash封装实现  # Spring和Websocket相结合实现消息的推送  # JavaScript之WebSocket技术详解  # 浅析nodejs实现Websocket的数据接收与发送  # 微信小程序 WebSocket详解及应用  # 使用swoole扩展php websocket示例  # php中使用websocket详解  # php+html5基于websocket实现聊天室的方法  # 详解WebSocket+spring示例demo(已使用sockJs库)  # C#实现WebSocket协议客户端和服务器websocket sharp组件实例解析  # HTML5 WebSocket技术使用详解  # 给大家  # 时间内  # 希望能  # 时间为  # 这篇  # 小编  # 大家多多  # 但由于  # var  # getElementById  # function  # return  # document  # socket  # lt  # gt  # br  # log  # arguments  # innerHTML 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 创业网站制作流程,创业网站可靠吗?  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  Laravel如何配置和使用缓存?(Redis代码示例)  历史网站制作软件,华为如何找回被删除的网站?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  公司门户网站制作流程,华为官网怎么做?  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  iOS中将个别页面强制横屏其他页面竖屏  iOS正则表达式验证手机号、邮箱、身份证号等  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  原生JS获取元素集合的子元素宽度实例  如何在新浪SAE免费搭建个人博客?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  如何用搬瓦工VPS快速搭建个人网站?  油猴 教程,油猴搜脚本为什么会网页无法显示?  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  青岛网站建设如何选择本地服务器?  PythonWeb开发入门教程_Flask快速构建Web应用  如何在IIS中配置站点IP、端口及主机头?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Laravel如何实现API速率限制?(Rate Limiting教程)  Python高阶函数应用_函数作为参数说明【指导】  zabbix利用python脚本发送报警邮件的方法  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  浅谈javascript alert和confirm的美化  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  高端云建站费用究竟需要多少预算?  如何在服务器上三步完成建站并提升流量?  Laravel定时任务怎么设置_Laravel Crontab调度器配置  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Laravel如何使用模型观察者?(Observer代码示例)  如何快速生成凡客建站的专业级图册?  网站制作企业,网站的banner和导航栏是指什么?  个人摄影网站制作流程,摄影爱好者都去什么网站?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  如何快速登录WAP自助建站平台?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  phpredis提高消息队列的实时性方法(推荐)  轻松掌握MySQL函数中的last_insert_id()  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  如何在阿里云高效完成企业建站全流程?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Python进程池调度策略_任务分发说明【指导】