WebSocket自动断开重连

/ javascript / 没有评论 / 1980浏览

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);
}