-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
48 lines (41 loc) · 1.27 KB
/
app.js
File metadata and controls
48 lines (41 loc) · 1.27 KB
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
42
43
44
45
46
47
48
const app = require('express')();
const PORT = process.env.PORT || 8080
const http = require('http').Server(app);
const path = require('path');
const options = { root: path.join(__dirname) } ;
const io = require('socket.io')(http);
app.get('/',(req,res)=>{
res.sendFile('index.html',options)
})
app.get('/about',(req,res)=>{
res.sendFile('about.html',options)
})
app.get('/contact',(req,res)=>{
res.sendFile('contact.html',options)
})
const users = {};
var active = 0;
io.on('connection', socket =>{
active++;
socket.broadcast.emit('showActive',active);
socket.on('new-user-joined',(name)=>{
socket.broadcast.emit('showActive',active);
users[socket.id] = name;
console.log(`${name} joined chat.`)
socket.broadcast.emit('user-joined', name)
});
socket.on('send',message => {
socket.broadcast.emit('receive',{message:message,name:users[socket.id]});
});
socket.on('disconnect',()=>{
active--;
socket.broadcast.emit('showActive',active);
if(users != null && users != 'null'){
socket.broadcast.emit('left', users[socket.id]);
}else{ console.log('Null Identified...')}
delete users[socket.id];
});
})
http.listen(PORT,()=>{
console.log('Live on Port-'+PORT)
})