]> git.r.bdr.sh - rbdr/junction/blobdiff - server/index.js
Add docker files
[rbdr/junction] / server / index.js
index 0cfef25c7346f741e20ac2a6b50c814256469719..b01a337a6702f2e5f94e7b429789e00cfd7e37c8 100644 (file)
@@ -1,4 +1,4 @@
-const PORT = 8000;
+const PORT = process.env.JUNCTION_PORT || 8000;
 
 const express = require('express');
 const http = require('http');
@@ -20,9 +20,14 @@ io.sockets.on('connection', (socket) => {
     console.log(`[CONNECT] New client connected with ID ${me}`);
 
     socket.on('join', (data) => {
-        socket.join(data.url);
-        Object.keys(io.in(data.url).sockets).forEach(peer => peer.emit(events.types.ADD_PEER, events.addPeer(me, peer.id === me)));
+        Object.entries(io.in(data.url).sockets).forEach(([peerId, peer]) => {
+            if (peerId !== me) {
+                peer.emit(events.types.ADD_PEER, events.addPeer(me, false));
+                socket.emit(events.types.ADD_PEER, events.addPeer(peerId, true));
+            }
+        });
 
+        socket.join(data.url);
         console.log(`[CONNECT] Client ${me} added to room ${data.url}`);
     });
 
@@ -46,4 +51,4 @@ io.sockets.on('connection', (socket) => {
 
         console.log(`[RELAY_SESSION_DESCRIPTION] Session description for client ${me} has been relayed to all peers`);
     });
-});
\ No newline at end of file
+});