📚 开源资源分享——颜佐光的个人书架
✉️ 联系站长
书架 / javascript / WebSocket

WebSocket自动断开重连

2020-08-07 10:50 · 约 1,461 字 · 浏览 2,506 次WebSocket

WebSocket自动断开重连

监听close进行重连

<!DOCTYPE HTML>
<html>
    <head>
        <title>WebSocket</title>
        <script src="jquery.min.js"></script>
        <script src="ws.js"></script>
    </head>
    <body>
        <button id="close">close</button>
    </body>
</html>

var accessToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIgJI";
var globalwebsocket = null;

$(function() {
    if ('WebSocket' in window) {
        websocketLifePeriod();
    } else {
        alert("unsupported websocket");
    }
    $("#close").click(function() {
        closeWebSocket();
    })
})

function websocketLifePeriod() {
    var websocket = new WebSocket("ws://7k586s.natappfree.cc:80/yiliao/websocketServer/" + accessToken);
    globalwebsocket = websocket;

    websocket.onopen = function(event) {
        alert("success");
        sendMsg({
            accessToken : accessToken
        });
    };
    websocket.onclose = function(e) {
        console.log('websocket closed: ' + e.code + ' ' + e.reason + ' ' + e.wasClean)
        // if (e.code == 1006) {
            websocketLifePeriod();
        // }
        alert("closed");
    };
    websocket.onmessage = function(event) {
        console.log(event.data);
    };
    websocket.onerror = function() {
        alert("error");
    };
}

window.onbeforeunload = function () {
    closeWebSocket();
};

function closeWebSocket() {
    globalwebsocket.close();
}

function sendMsg(msg) {
    var data = JSON.stringify(msg);
    globalwebsocket.send(data);
}

← 返回《javascript》目录书架 →