publish_server.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. const Peer = require('../index.js').Peer;
  2. // MAIN -------------------------------------------------------------------------------------------
  3. // Claim this ID on the peerJS signalling server so that clients can connect to it directly
  4. // without having to coordinate this key with each other through other means
  5. const peer = new Peer('abcdefghijklmnopqrstuvwxyz', {debug: 2});
  6. let publishInterval = null;
  7. let count = 0;
  8. peer.on('open', (localId) => {
  9. console.log(localId);
  10. })
  11. peer.on('connection', (conn) => {
  12. console.log('Got a connection');
  13. conn.on('open', () => {
  14. conn.on('data', (data) => {
  15. console.log(data);
  16. });
  17. conn.send('Hello, I am the echo server');
  18. publishInterval = setInterval(() => {
  19. count += 1;
  20. conn.send('publish ' + count)
  21. console.log('Sent ' + count)
  22. }, 1000)
  23. })
  24. conn.on('disconnected', () => {
  25. console.log('PEER DISCONNECTED');
  26. clearInterval(publishInterval);
  27. publishInterval = null;
  28. count = 0;
  29. });
  30. conn.on('error', (err) => {
  31. console.log('PEER ERROR');
  32. console.log(err);
  33. clearInterval(publishInterval);
  34. publishInterval = null;
  35. count = 0;
  36. });
  37. conn.on('close', () => {
  38. console.log('PEER CLOSED');
  39. clearInterval(publishInterval);
  40. publishInterval = null;
  41. count = 0;
  42. });
  43. });