Advertisement
selvalives

Untitled

Aug 8th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. const app = require('express')();
  2. const http = require('http').Server(app);
  3. const io = require('socket.io')(http);
  4.  
  5. const documents = {};
  6.  
  7. io.on('connection', socket => {
  8. let previousId;
  9. const safeJoin = currentId => {
  10. socket.leave(previousId);
  11. socket.join(currentId, () => console.log(`Socket ${socket.id} joined room ${currentId}`));
  12. previousId = currentId;
  13. }
  14.  
  15. socket.on('getDoc', docId => {
  16. safeJoin(docId);
  17. socket.emit('document', documents[docId]);
  18. });
  19.  
  20. socket.on('addDoc', doc => {
  21. documents[doc.id] = doc;
  22. safeJoin(doc.id);
  23. io.emit('documents', Object.keys(documents));
  24. socket.emit('document', doc);
  25. });
  26.  
  27. socket.on('editDoc', doc => {
  28. documents[doc.id] = doc;
  29. socket.to(doc.id).emit('document', doc);
  30. });
  31.  
  32. io.emit('documents', Object.keys(documents));
  33.  
  34. console.log(`Socket ${socket.id} has connected`);
  35. });
  36.  
  37. http.listen(4444, () => {
  38. console.log('Listening on port 4444');
  39. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement