mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Add ws heartbeat to keep connection alive through firewall
This commit is contained in:
		| @@ -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 = []; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user