-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserver.js
41 lines (29 loc) · 941 Bytes
/
server.js
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
39
40
41
const express = require('express');
const app = express();
const server = require('http').Server(app)
const io = require('socket.io')(server)
const { ExpressPeerServer } = require('peer');
const peerServer = ExpressPeerServer(server, {
debug: true
});
const { v4 : uuidv4 } = require('uuid')
app.set('view engine' , 'ejs');
app.use(express.static('public'));
app.use('/peerjs' , peerServer);
app.get('/' , (req , res ) => {
res.redirect(`/${uuidv4()}`);
})
app.get('/:room' , (req , res ) => {
res.render('room' , {roomID : req.params.room});
})
io.on('connection' , socket => {
socket.on('join-room' , ( roomID , userId) => {
console.log('room - joined ');
socket.join(roomID);
socket.to(roomID).broadcast.emit('user-connected' , userId ) ;
socket.on('message' , message => {
io.to(roomID).emit('create-message' , message) ;
})
})
})
server.listen(3030);