2011-06-23 40 views
2

我想創建一個簡單的nodejs服務器到服務器程序。NodeJS - 創建簡單的轉發服務器

這裏就是我想要實現:

-----------¦remote¦-----satellite link-----¦core¦--------- 
port 6999    port 7000     port 6999 

我需要編寫代碼的Node.js兩個「遠程」和「核心」。

這裏是我的聲發射(我是一個很困惑,現在...):

//remote.js 
var util=require('util'); 
var net=require('net'); 

var input=net.createServer(function(inputStream){ 
     inputStream.on('data', function(data) { 
       util.puts(data); 
     }); 
     var output=net.createServer(function(outputStream) { 
       outputStream.pipe(inputStream, {end: false}); 

       outputStream.on('data',function(dta){ 
         util.puts(dta); 
       }); 
     }); 
     output.listen(7000, '172.16.1.224'); 
}); 
input.listen(6999, '172.16.1.224'); 

一旦我有這兩個轉發模塊(遠程和核心)向上和運行,我希望做一些數據包檢查......

提前許多感謝,

回答

0

你需要調用的createConnection輸出流。看看我的端口轉發代碼here

0

您可以簡單地將輸入和輸出定義爲兩個連接,如下所示。

net.createServer(function(from) { 
    var to = net.createConnection({ 
     host: addr.to[2], 
     port: addr.to[3] 
    }); 
    from.pipe(to); 
    to.pipe(from); 
}).listen(addr.from[3], addr.from[2]); 

Node.js - forward all traffic from port A to port B