Guest User

Untitled

a guest
May 27th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. var sys = require("sys"),
  2. ws = require("./ws");
  3.  
  4. Array.prototype.remove = function(e) {
  5. for (var i = 0; i < this.length; i++)
  6. if (e == this[i]) return this.splice(i, 1);
  7. }
  8.  
  9. var clients = [];
  10.  
  11. ws.createServer(function (websocket) {
  12. clients.push(websocket);
  13.  
  14. websocket.addListener("connect", function (resource) {
  15. // emitted after handshake
  16. sys.debug("connect: " + resource);
  17.  
  18. // server closes connection after 10s, will also get "close" event
  19. //setTimeout(websocket.end, 10 * 1000);
  20. }).addListener("data", function (data) {
  21. // handle incoming data
  22.  
  23. // send data to client
  24. clients.forEach(function (client) {
  25. if (client != websocket) {
  26. sys.puts('write...');
  27. try {
  28. client.write(data);
  29. } catch (e) {
  30. clients.remove(client);
  31. }
  32. }
  33. });
  34. }).addListener("close", function () {
  35. // emitted when server or client closes connection
  36. sys.debug("close");
  37. clients.remove(websocket);
  38. });
  39. }).listen(8000);
Add Comment
Please, Sign In to add comment