Advertisement
Guest User

Untitled

a guest
Aug 28th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. "use strict";
  2. var _1 = require('./core/');
  3. process.stdout.write('\x1Bc');
  4. _1.LOGGER.info('main');
  5. var net = require('net');
  6. var Peer = (function () {
  7. function Peer(sock, name) {
  8. sock = sock;
  9. name = name;
  10. }
  11. return Peer;
  12. }());
  13. var cid = 0;
  14. var clients = [];
  15. net.createServer(function (socky) {
  16. var peer = new Peer(socky, "");
  17. peer.name = peer.sock.remoteAddress + ":" + peer.sock.remotePort;
  18. clients.push(peer);
  19. peer.sock.write("0Welcome " + peer.name + "\n");
  20. broadcast("0" + peer.name + " joined the chat\n", peer);
  21. peer.sock.on('data', function (data) {
  22. var val = data[0] - 48;
  23. data = data.toString().substr(1);
  24. if (val === 0)
  25. broadcast("0" + peer.name + "> " + data + "\n", peer);
  26. if (val === 1)
  27. broadcast("1" + data + "\n", peer);
  28. });
  29. peer.sock.on('end', function () {
  30. clients.splice(clients.indexOf(peer), 1);
  31. broadcast("0" + peer.name + " left the chat.\n", peer);
  32. });
  33. peer.sock.on('error', function (e) {
  34. clients.splice(clients.indexOf(peer), 1);
  35. broadcast("0" + peer.name + " left the chat.\n", peer);
  36. _1.LOGGER.error(e.name + ": " + e.message);
  37. });
  38. function broadcast(message, sender) {
  39. clients.forEach(function (peer) {
  40. if (peer === sender)
  41. return;
  42. peer.sock.write(message);
  43. });
  44. process.stdout.write(message);
  45. }
  46. }).listen(5000);
  47. console.log("Chat server running at port 5000\n");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement