world-server.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. const ipc=require('../../../node-ipc');
  2. /***************************************\
  3. *
  4. * Since there is no client relationship
  5. * with UDP sockets sockets are not kept
  6. * open.
  7. *
  8. * This means the order sockets are opened
  9. * is important.
  10. *
  11. * Start World first. Then you can start
  12. * hello or goodbye in any order you
  13. * choose.
  14. *
  15. ***************************************/
  16. ipc.config.id = 'world';
  17. ipc.config.retry= 1500;
  18. var messages={
  19. goodbye:false,
  20. hello:false
  21. };
  22. ipc.serveNet(
  23. 'udp4',
  24. function(){
  25. console.log(123);
  26. ipc.server.on(
  27. 'message',
  28. function(data,socket){
  29. ipc.log('got a message from ', data.id ,' : ', data.message);
  30. messages[data.id]=true;
  31. ipc.server.emit(
  32. socket,
  33. 'message',
  34. {
  35. id : ipc.config.id,
  36. message : data.message+' world!'
  37. }
  38. );
  39. if(messages.hello && messages.goodbye){
  40. ipc.log('got all required events, telling evryone how muchg I am loved!');
  41. ipc.server.broadcast(
  42. 'message',
  43. {
  44. id : ipc.config.id,
  45. message : 'Everybody Loves The World! Got messages from hello and goodbye!'
  46. }
  47. );
  48. }
  49. }
  50. );
  51. console.log(ipc.server);
  52. }
  53. );
  54. ipc.server.start();