fixed bug with segfault @websockets

This commit is contained in:
2020-11-25 17:45:53 +03:00
parent 366c1cd936
commit ce687120ac
6 changed files with 194 additions and 72 deletions

View File

@@ -68,16 +68,27 @@ auth = function(){
}
// websockets
var ws;
var reopenTimer;
function wsinit(){
delete(ws);
ws = new WebSocket('wss://localhost:8080/ws');
ws.onopen = function(){ws.send("Akey="+wsKey);}; // send key after init
console.log("Try to connect WS");
ws = new WebSocket('wss://localhost:8080/ws/');
clearTimeout(reopenTimer);
reopenTimer = setTimeout(wsinit, 5000);
ws.onopen = function(){ // send key after init
clearTimeout(reopenTimer);
console.log("WS connected");
ws.send("Akey="+wsKey);
}
ws.onclose = function(evt){
var text = "WebSocket closed: ";
if(evt.wasClean) text += "by remote side";
else text += "connection lost"
$('wsmsgs').innerHTML = text;
};
var text = "websocket closed";
if(evt.wasClean) text += " by remote side";
else text += ", connection lost"
parseErr(text);
console.log("WS closed");
clearTimeout(reopenTimer);
reopenTimer = setTimeout(wsinit, 1000);
}
ws.onmessage = function(evt){
$('wsmsgs').innerHTML = evt.data;
}

View File

@@ -31,13 +31,15 @@ function sendrequest(req_STR, onOK, postdata){
}
}
request.send(postdata);
timeout_id = setTimeout(function(){request.onreadystatechange=null; request.abort(); parseErr("request timeout");}, 5000);
timeout_id = setTimeout(function(){request.onreadystatechange = null; request.abort(); parseErr("Request timeout");}, 5000);
}
var errtmout;
function parseErr(txt){
console.log("Error: " + txt);
var msgDiv = $('errmsg');
if(!msgDiv) return;
msgDiv.innerHTML = "Error: " + txt;
setTimeout(function(){msgDiv.innerHTML = "";}, 3500);
clearTimeout(errtmout);
errtmout = setTimeout(function(){msgDiv.innerHTML = " ";}, 3500);
}