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();
    }
    
  • 相关阅读:
    hdu6055(求正方形个数)
    树状数组模板(改点求段 / 该段求点 / 改段求段)
    poj2763(lca / RMQ + 线段树)
    poj3728(lca / tarjan离线)
    JDK8-废弃永久代(PermGen)迎来元空间(Metaspace)
    JVM垃圾回收机制
    虚拟机字节码执行引擎
    Java中程序初始化的顺序
    Java中ClassLoader浅析.
    Python中的self
  • 原文地址:https://www.cnblogs.com/interdrp/p/4828573.html
Copyright © 2011-2022 走看看