summaryrefslogtreecommitdiff
path: root/app/server/index.js
blob: 3fcb8eedd504c4294dbd778b1107852eebd272b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
require('dotenv').config()
const app = require('express')()
const server = require('http').createServer(app)
const io = require('socket.io')(server)
const ss = require('socket.io-stream')

const client = io.of('/client')
const relay = io.of('/relay')

client.on('connect', socket => {
  console.log('client connected')
  socket.on('cmd', data => {
    relay.emit('cmd', data)
  })
  socket.on('disconnect', () => {
    console.log("client disconnected")
  })
})

relay.on('connect', socket => {
  console.log('relay connected')
  socket.on('params', data => {
    client.emit('params', data)
  })

  ss(relay).on('frame', (stream, data) => {
    console.log(data)
    Object.values(client.connected).map(socket => {
      ss(socket).emit('frame', stream, data)
    })
  })

  socket.on('disconnect', () => {
    console.log("relay disconnected")
  })
})

server.listen(process.env.EXPRESS_PORT)