zoukankan      html  css  js  c++  java
  • 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();
    }
    
  • 相关阅读:
    翻转单词顺序序列
    左旋转字符串
    查找第一个只出现一次的字符
    C语言函数与程序结构
    C语言实现快速排序法(分治法)
    C语言binsearch,shellsort,insertsort
    c语言的类型、运算符与表达式
    进程和线程
    CMS和G1
    Python IO编程
  • 原文地址:https://www.cnblogs.com/interdrp/p/4828573.html
Copyright © 2011-2022 走看看