-#!/usr/bin/nodejs\r
-\r
-const app = require('http').createServer();\r
-const io = require('socket.io')(app);\r
-const ss = require('socket.io-stream');\r
-const net = require('net');\r
-const log = require('./../logger')(__filename.slice(__dirname.length + 1));\r
-\r
-var lastsocket = null;\r
-var websocket = null;\r
-const socketioport = 8087;\r
-const revproxport = 8089;\r
-\r
-app.listen(socketioport, 'localhost');\r
-log.info('socket.io server bound to port ' + socketioport);\r
-\r
-io.on('connection', function (iosocket) {\r
- lastsocket = iosocket;\r
- log.info('socket.io client connected');\r
- iosocket.emit('servereventtest', { data: 'servereventtestdata' });\r
-\r
- iosocket.on('disconnect', function () {\r
- log.info("socket.io client disconnected");\r
- lastsocket = null;\r
- })\r
-\r
- iosocket.on('clienteventtest', function (data) {\r
- log.info('socket.io client connection test succeeded');\r
- });\r
-\r
- iosocket.on('destinationerror', function (err) {\r
- if (websocket != null) {\r
- log.warn('destination error, closing web socket');\r
- websocket.end();\r
- }\r
- });\r
-\r
- iosocket.on('error', function (err) {\r
- log.error('socket.io error:', JSON.stringify(err));\r
- });\r
-});\r
-\r
-var server = net.createServer(function(sock) {\r
- log.info('web client connected');\r
- websocket = sock;\r
-\r
- if (null != lastsocket) {\r
- var stream = ss.createStream();\r
- ss(lastsocket).emit('proxy', stream);\r
- log.debug('stream created');\r
-\r
- websocket.on('error', function(err) {\r
- log.error('web socket error:', JSON.stringify(err));\r
- })\r
- .on('data', function(data) {\r
- log.debug('web socket data, port ' + websocket.remotePort + ', size: ' + data.length);\r
- })\r
- .on('end', function() {\r
- websocket.unpipe(stream);\r
- stream.unpipe(websocket);\r
- websocket = null;\r
- log.info('web client disconnect');\r
- });\r
-\r
- stream.on('error', function() {\r
- log.error('stream error, id ' + stream.id);\r
- })\r
- .on('data', function(data) {\r
- log.debug('stream data, id ' + stream.id + ', size: ' + data.length);\r
- })\r
- .on('end', function() {\r
- log.debug('stream destroyed');\r
- });\r
-\r
- websocket.pipe(stream);\r
- stream.pipe(websocket);\r
- } else {\r
- log.warn('web client connection refused due to missing socket.io connection');\r
- websocket.end();\r
- }\r
-});\r
-\r
-server.listen(revproxport, 'localhost', function() {\r
- log.info('reverse proxy bound to port ' + revproxport);\r
-});\r
+#!/usr/bin/nodejs
+
+const app = require('http').createServer();
+const io = require('socket.io')(app);
+const ss = require('socket.io-stream');
+const net = require('net');
+const log = require('./../logger')(__filename.slice(__dirname.length + 1));
+
+var lastsocket = null;
+var websocket = null;
+const socketioport = 8087;
+const revproxport = 8089;
+
+app.listen(socketioport, 'localhost');
+log.info('socket.io server bound to port ' + socketioport);
+
+io.on('connection', function (iosocket) {
+ lastsocket = iosocket;
+ log.info('socket.io client connected');
+ iosocket.emit('servereventtest', { data: 'servereventtestdata' });
+
+ iosocket.on('disconnect', function () {
+ log.info("socket.io client disconnected");
+ lastsocket = null;
+ })
+
+ iosocket.on('clienteventtest', function (data) {
+ log.info('socket.io client connection test succeeded');
+ });
+
+ iosocket.on('destinationerror', function (err) {
+ if (websocket != null) {
+ log.warn('destination error, closing web socket');
+ websocket.end();
+ }
+ });
+
+ iosocket.on('error', function (err) {
+ log.error('socket.io error:', JSON.stringify(err));
+ });
+});
+
+var server = net.createServer(function(sock) {
+ log.info('web client connected');
+ websocket = sock;
+
+ if (null != lastsocket) {
+ var stream = ss.createStream();
+ ss(lastsocket).emit('proxy', stream);
+ log.debug('stream created');
+
+ websocket.on('error', function(err) {
+ log.error('web socket error:', JSON.stringify(err));
+ })
+ .on('data', function(data) {
+ log.debug('web socket data, port ' + websocket.remotePort + ', size: ' + data.length);
+ })
+ .on('end', function() {
+ websocket.unpipe(stream);
+ stream.unpipe(websocket);
+ websocket = null;
+ log.info('web client disconnect');
+ });
+
+ stream.on('error', function() {
+ log.error('stream error, id ' + stream.id);
+ })
+ .on('data', function(data) {
+ log.debug('stream data, id ' + stream.id + ', size: ' + data.length);
+ })
+ .on('end', function() {
+ log.debug('stream destroyed');
+ });
+
+ websocket.pipe(stream);
+ stream.pipe(websocket);
+ } else {
+ log.warn('web client connection refused due to missing socket.io connection');
+ websocket.end();
+ }
+});
+
+server.listen(revproxport, 'localhost', function() {
+ log.info('reverse proxy bound to port ' + revproxport);
+});