完美解決spring websocket自動(dòng)斷開連接再創(chuàng)建引發(fā)的問題
問題:由于 web session 超時(shí)時(shí)間為 30 分鐘,如用戶在 web session 規(guī)定時(shí)間內(nèi)沒有退出系統(tǒng),但由于其它原因 用戶卻斷開的 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自動(dòng)斷開連接再創(chuàng)建引發(fā)的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- php使用websocket示例詳解
- Javascript WebSocket使用實(shí)例介紹(簡明入門教程)
- Nginx反向代理websocket配置實(shí)例
- Python通過websocket與js客戶端通信示例分析
- 使用Java和WebSocket實(shí)現(xiàn)網(wǎng)頁聊天室實(shí)例代碼
- Java后端Tomcat實(shí)現(xiàn)WebSocket實(shí)例教程
- Android中使用WebSocket實(shí)現(xiàn)群聊和消息推送功能(不使用WebView)
- 讓ie6也支持websocket采用flash封裝實(shí)現(xiàn)
- Spring和Websocket相結(jié)合實(shí)現(xiàn)消息的推送
- JavaScript之WebSocket技術(shù)詳解
- 淺析nodejs實(shí)現(xiàn)Websocket的數(shù)據(jù)接收與發(fā)送
- 微信小程序 WebSocket詳解及應(yīng)用
- 使用swoole擴(kuò)展php websocket示例
- php中使用websocket詳解
- php+html5基于websocket實(shí)現(xiàn)聊天室的方法
- 詳解WebSocket+spring示例demo(已使用sockJs庫)
- C#實(shí)現(xiàn)WebSocket協(xié)議客戶端和服務(wù)器websocket sharp組件實(shí)例解析
- HTML5 WebSocket技術(shù)使用詳解
相關(guān)文章
向當(dāng)前style sheet中插入一個(gè)新的style實(shí)現(xiàn)方法
今天為了臨時(shí)解決頁面樣式問題,為了方便,直接在這個(gè)公共的js里面向style sheet插入新的style rule,感興趣的朋友可以出納卡下哈2013-04-04
ES6中async函數(shù)與await表達(dá)式的基本用法舉例
async和await是我們進(jìn)行Promise時(shí)的一個(gè)語法糖,async/await為了讓我們書寫代碼時(shí)更加流暢,增強(qiáng)了代碼的可讀性,下面這篇文章主要給大家介紹了關(guān)于ES6中async函數(shù)與await表達(dá)式的基本用法,需要的朋友可以參考下2022-07-07
網(wǎng)站內(nèi)容禁止復(fù)制和粘貼、另存為的js代碼
這篇文章主要介紹了JS如何實(shí)現(xiàn)網(wǎng)站內(nèi)容如何實(shí)現(xiàn)禁止復(fù)制和粘貼、另存為,需要的朋友可以參考下2014-02-02
JavaScript實(shí)現(xiàn)單鏈表過程解析
這篇文章主要介紹了JavaScript實(shí)現(xiàn)單鏈表過程,鏈表中的元素在內(nèi)存中不必是連續(xù)的空間。鏈表的每個(gè)元素有一個(gè)存儲(chǔ)元素本身的節(jié)點(diǎn)和指向下一個(gè)元素的引用。下面請(qǐng)和小編一起進(jìn)入文章了解更多的詳細(xì)內(nèi)容吧2021-12-12
Javascript load Page,load css,load js實(shí)現(xiàn)代碼
通過js動(dòng)態(tài)載入頁面和css或js的實(shí)現(xiàn)代碼,需要的朋友可以參考下。國外人寫的,可以參考下。2010-03-03
JS實(shí)現(xiàn)商品倒計(jì)時(shí)實(shí)現(xiàn)代碼
JS實(shí)現(xiàn)商品倒計(jì)時(shí)實(shí)現(xiàn)代碼,需要的朋友可以參考一下2013-05-05

