利用Node.js構建一個簡單的TCP代理服務器

jopen 12年前發布 | 110K 次閱讀 Node.js Node.js擴展

今天我們將給大家介紹如何利用Node.js構建一個簡單的TCP代理服務器(TCP proxy server)。該方案:我們已經有了一臺主機(客戶端)建立一個TCP連接到另外一臺(遠程機)

client —> remote

</blockquote>

我們要在中間架設一個代理服務器,客戶端與代理建立連接,然后代理轉發到遠程,并保持遠程響應。
利用node.js來實現這種類型的網絡操作將會非常簡單,詳見如下代碼:

client —> proxy -> remote

</blockquote>

var net = require('net');

var LOCAL_PORT = 6512; var REMOTE_PORT = 6512; var REMOTE_ADDR = "192.168.1.25";

var server = net.createServer(function (socket) { socket.on('data', function (msg) { console.log(' START '); console.log('<< From client to proxy ', msg.toString()); var serviceSocket = new net.Socket(); serviceSocket.connect(parseInt(REMOTE_PORT), REMOTE_ADDR, function () { console.log('>> From proxy to remote', msg.toString()); serviceSocket.write(msg); }); serviceSocket.on("data", function (data) { console.log('<< From remote to proxy', data.toString()); socket.write(data); console.log('>> From proxy to client', data.toString()); }); }); });

server.listen(LOCAL_PORT); console.log("TCP server accepting connection on port: " + LOCAL_PORT);</pre>是不是很簡單呢?
源程序下載 github

Open經驗庫編譯自:http://css.dzone.com/articles/building-simple-tcp-proxy

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!