mirror of
https://github.com/eddyem/onionserver.git
synced 2026-03-20 08:41:04 +03:00
fixed bug with segfault @websockets
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user