diff --git a/exec/websocketservice.js b/exec/websocketservice.js index 66a11cf3569de40bb49b056f6f53e0e31b048eaa..1958eefac338e6e8e6678425d9b1cf2fa400d493 100644 --- a/exec/websocketservice.js +++ b/exec/websocketservice.js @@ -83,6 +83,7 @@ try { FServerSocket = new Socket(); log(LOG_DEBUG, "Connecting to " + TargetHostname + ":" + TargetPort); if (FServerSocket.connect(TargetHostname, TargetPort)) { + // Variables we'll use in the loop var DoYield = true; var ClientData = []; @@ -102,6 +103,12 @@ try { FServerSocket.send(hapstr); } + var ipFile = new File (system.temp_path + 'sbbs-ws-' + FServerSocket.local_port + '.ip'); + if (ipFile.open('w')) { + ipFile.write(client.ip_address); + ipFile.close(); + } + // Loop while we're still connected on both ends while ((client.socket.is_connected) && (FServerSocket.is_connected)) { // Should we yield or not (default true, but disable if we had line activity) @@ -129,6 +136,7 @@ try { } if (!client.socket.is_connected) log(LOG_DEBUG, 'Client socket no longer connected'); if (!FServerSocket.is_connected) log(LOG_DEBUG, 'Server socket no longer connected'); + ipFile.remove(); } else { // FServerSocket.connect() failed log(LOG_ERR, "Error " + FServerSocket.error + " connecting to server at " + TargetHostname + ":" + TargetPort);