-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsocket.js
31 lines (28 loc) · 985 Bytes
/
socket.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
const socketio = require('socket.io');
module.exports = (server) => {
const io = socketio(server);
io.on('connection', (socket) => {
console.log('Socket -- new connection', socket.id);
let currentRoom = null;
socket.on('joinList', (list) => {
console.log('Socket -- joinList:', list);
if (currentRoom !== null) {
socket.leave(currentRoom);
}
socket.join(list);
currentRoom = list;
console.log(currentRoom);
});
socket.on('sendItem', (list, userId) => {
console.log('Socket -- send item: ', list, userId);
socket.broadcast.to(list).emit('change', list, userId);
});
socket.on('leaveList', (list) => {
console.log('Socket -- leaveList: ', list);
socket.leave(list);
});
socket.on('disconnect', () => {
console.log('User has left!');
});
});
};