From 0691bca6d1f59a61ac30938363e437da034e9c47 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sun, 20 May 2018 19:12:29 +0200 Subject: chex --- app/server/index.js | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) (limited to 'app/server') diff --git a/app/server/index.js b/app/server/index.js index 6be7fe4..e561f57 100644 --- a/app/server/index.js +++ b/app/server/index.js @@ -16,21 +16,21 @@ server.listen(process.env.EXPRESS_PORT, () => { }) const io = socket_io(server) -const client = io.of('/client') -const relay = io.of('/relay') +let relay, client -client.on('connect', socket => { - console.log('Client connected') - socket.on('cmd', data => { - console.log('Client sent command', data) - relay.emit('cmd', data) - }) - socket.on('disconnect', () => { - console.log("Client disconnected") - }) -}) +client = io.of('/client') +client.on('connect', bind_client) -relay.on('connect', socket => { +if (process.env.EXPRESS_CONNECTS_TO_RELAY === 'true') { + console.log('Connecting to relay on ' + process.env.RELAY_REMOTE) + relay = require('socket.io-client').connect(process.env.RELAY_REMOTE) + bind_relay(relay) +} else { + relay = io.of('/relay') + relay.on('connect', bind_relay) +} + +function bind_relay(socket) { console.log('Relay connected') socket.on('res', data => { console.log('Received response', data.cmd) @@ -38,11 +38,24 @@ relay.on('connect', socket => { }) socket.on('frame', (data) => { + console.log('got frame') client.volatile.emit('frame', data) }) socket.on('disconnect', () => { console.log("Relay disconnected") }) -}) +} + +function bind_client(socket){ + console.log('Client connected') + socket.on('cmd', data => { + console.log('Client sent command', data) + relay.emit('cmd', data) + }) + socket.on('disconnect', () => { + console.log("Client disconnected") + }) +} + -- cgit v1.2.3-70-g09d2