summaryrefslogtreecommitdiff
path: root/app/server
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-05-20 19:12:29 +0200
committerJules Laplace <julescarbon@gmail.com>2018-05-20 19:12:29 +0200
commit0691bca6d1f59a61ac30938363e437da034e9c47 (patch)
tree26673994c03edc9ec8ab45a6f51a08934a150798 /app/server
parent67158e2a53c4eb50364c42055690f95e650dcc48 (diff)
chex
Diffstat (limited to 'app/server')
-rw-r--r--app/server/index.js41
1 files changed, 27 insertions, 14 deletions
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")
+ })
+}
+