Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 8th, 2012  |  syntax: None  |  size: 1.02 KB  |  hits: 18  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. var sys = require('sys'),
  2.     http = require('http'),
  3.     crypto = require('crypto');
  4.     io = require('../'),
  5.     server = http.createServer(),
  6.     socket = io.listen(server),
  7.     json = JSON.stringify,
  8.     log = sys.puts;
  9.  
  10. server.listen(8000);
  11.  
  12. socket.on('connection', function(client){
  13.   client.on('message', function(message){
  14.     try {
  15.       request = JSON.parse(message.replace('<', '<').replace('>', '>'));
  16.     } catch (SyntaxError) {
  17.       log('Invalid JSON:');
  18.       log(message);
  19.       return false;
  20.     }
  21.  
  22.     if(request.action != 'close' && request.action != 'move' && request.action != 'speak') {
  23.       log('Ivalid request:' + "\n" + message);
  24.       return false;
  25.     }
  26.  
  27.     if(request.action == 'speak') {
  28.       request.email = crypto.createHash('md5').update(request.email).digest("hex");
  29.       client.send(json(request));
  30.     }
  31.    
  32.     request.id = client.sessionId
  33.     client.broadcast(json(request));
  34.   });
  35.  
  36.   client.on('disconnect', function(){
  37.     client.broadcast(json({'id': client.sessionId, 'action': 'close'}));
  38.   });
  39. });