Advertisement
Guest User

Untitled

a guest
Apr 19th, 2014
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function add(port, node) {
  2.     //logger.master(nodes[node] + ' ' + port + ' ' + node); // DEBUG
  3.     try {
  4.         if(!node && node !== 0) {
  5.             logger.error(sprintf('Node %d doesn\'t exist', node));
  6.             return;
  7.         }
  8.         if(!nodes[node]) {
  9.             logger.error(sprintf('Node %d doesn\'t exist.', node));
  10.             return;
  11.         }
  12.         if(!port) {
  13.             logger.error(sprintf('Port %d is invalid.', port));
  14.             return;
  15.         }
  16.  
  17.         forwarders[port] = {};
  18.         forwarders[port].listening = true;
  19.         forwarders[port].port = port;
  20.         forwarders[port].node = node;
  21.  
  22.         forwarders[port].server = net.createServer(function(from) {
  23.             var to = net.createConnection({
  24.                 host: nodes[node],
  25.                 port: port
  26.             });
  27.  
  28.             from.pipe(to);
  29.             to.pipe(from);
  30.         }).listen(port, '188.226.152.56');
  31.  
  32.         forwarders[port].server.on('listening', function() {
  33.             forwarders[port].listening = true;
  34.             //logger.master(sprintf('Forwarding port %d to node %s.', parseInt(port), nodes[node]));
  35.         });
  36.  
  37.         forwarders[port].server.on('close', function() {
  38.             forwarders[port].listening = false;
  39.         });
  40.     } catch(ex) {
  41.         var errMsg = 'An error occured while forwarding traffic from port %d to node %d:\n%s';
  42.         logger.error(sprintf(errMsg, port, node, ex));
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement