这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
下面小编就为大家带来一篇完美解决 spring websocket 自动断开连接再创建引发的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
问题:由于 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();
- }
来源: http://www.phperz.com/article/17/0526/327146.html