十几行代码写的一个<端口重定向>程序(nodejs)

相信很多情况下大家都需要用到端口重定向的程序,不久前用Nodejs写了一个,现在给出代码

  

var  net = require('net'); 
var server = net.createServer( function(c) { 
     // 客户端连接
  console.log('client connected');
  
   // 创建新的连接到远程ip
   var srv = net.connect(80,'192.168.100.1',  function() { 
        console.log('remote connected');
         // 服务端tcp流重定向到客户端
        srv.pipe(c);        
  });
   // 客户端tcp流重定向到远程
  c.pipe(srv);
  c.on('close', function(){
    console.log('client close')
  });
});

// 监听本地8000端口
server.listen(8000,  function() { 
  console.log('server bound');
});

 

上面代码的关键是stream的pipe函数,基本原理是把一个stream读到的数据重定向到另外一个stream的输入。

 

另外一个就是nodejs是单线程、异步、事件回调,这个总的来说接近C#里的BeginRead和EndRead这样的异步函数调用。

 

nodejs有很多现成类库,如果写一些小工具或者网络程序,个人觉得是一个非常好的选择。

目前本人已经用nodejs写了一个siri的代理服务器,可以让iphone4使用siri,siri相关的一些内容可以访问 http://www.sirinode.com 

关于node js,大家可以到官网http://www.nodejs.org看看,里面有详细的文档

中文社区http://cnodejs.org/

转载于:https://www.cnblogs.com/songbosi/archive/2012/03/08/2384946.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值