mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Add ws heartbeat to keep connection alive through firewall
This commit is contained in:
parent
b5a8a7288b
commit
13deef189d
@ -134,6 +134,9 @@
|
|||||||
}
|
}
|
||||||
ws.onmessage = function(event) {
|
ws.onmessage = function(event) {
|
||||||
var o = JSON.parse(event.data);
|
var o = JSON.parse(event.data);
|
||||||
|
if (o.heartbeat) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
//console.log(msg);
|
//console.log(msg);
|
||||||
var msg = document.createElement("div");
|
var msg = document.createElement("div");
|
||||||
msg.onmouseover = function() {
|
msg.onmouseover = function() {
|
||||||
|
@ -57,6 +57,26 @@ function DebugNode(n) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var lastSentTime = (new Date()).getTime();
|
||||||
|
|
||||||
|
setInterval(function() {
|
||||||
|
var now = (new Date()).getTime();
|
||||||
|
if (now-lastSentTime > 15000) {
|
||||||
|
lastSentTime = now;
|
||||||
|
for (var i in DebugNode.activeConnections) {
|
||||||
|
var ws = DebugNode.activeConnections[i];
|
||||||
|
try {
|
||||||
|
var p = JSON.stringify({heartbeat:lastSentTime});
|
||||||
|
ws.send(p);
|
||||||
|
} catch(err) {
|
||||||
|
util.log("[debug] ws heartbeat error : "+err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, 15000);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
RED.nodes.registerType("debug",DebugNode);
|
RED.nodes.registerType("debug",DebugNode);
|
||||||
|
|
||||||
DebugNode.send = function(msg) {
|
DebugNode.send = function(msg) {
|
||||||
@ -95,6 +115,7 @@ DebugNode.send = function(msg) {
|
|||||||
util.log("[debug] ws error : "+err);
|
util.log("[debug] ws error : "+err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
lastSentTime = (new Date()).getTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
DebugNode.activeConnections = [];
|
DebugNode.activeConnections = [];
|
||||||
|
Loading…
Reference in New Issue
Block a user