node.js实现端口转发


Posted in Javascript onApril 14, 2016

本文为大家分享的是node.js端口转发实现代码,供大家参考,具体内容如下

#!/sbin/node
 
var net = require('net');
 
function proxyPort(srcport,destServer,destport)
{
  var server = net.createServer(function(c) { //'connection' listener
 
    c.on('end', function() {
        console.log('src disconnected');
    });
 
    var client = net.connect({port: destport,host:destServer},function() { //'connect' listener
         console.log('ok....');
         c.on('data', function(data) {
             console.log(data.length);
           client.write(data);
         });
    });
 
    client.on('error', function(err) {
     console.log("dest=" + err);
     c.destroy();
    });
 
    c.on('error', function(err) {
     console.log("src" + err);
     client.destroy();
    });
 
    client.on('data', function(data) {
     c.write(data);
    });
 
    client.on('end', function() {
     console.log('dest disconnected ');
    });
 
  });
  server.listen(srcport, function() { //'listening' listener
   console.log('server bound' + srcport);
  });
}
 
var params = process.argv;
if(params.length != 5){
 console.log("node port.js srcport destserver destport "); 
 return;
}
 
proxyPort(params[2],params[3],params[4]);
 
console.log(process.argv);

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
Mootools 1.2教程 Fx.Tween的使用
Sep 15 Javascript
13 个JavaScript 性能提升技巧分享
Jul 26 Javascript
初识Node.js
Sep 03 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
Jun 19 Javascript
实例讲解javascript注册事件处理函数
Jan 09 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
Feb 26 Javascript
动态JavaScript所造成一些你不知道的危害
Sep 25 Javascript
video.js使用改变ui过程
Mar 05 Javascript
AngularJS中$http使用的简单介绍
Mar 17 Javascript
JavaScript实现跟随滚动缓冲运动广告框
Jul 15 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
May 16 Javascript
Vue SSR 即时编译技术的实现
May 06 Javascript
即将发布的jQuery 3 有哪些新特性
Apr 14 #Javascript
谈一谈JS消息机制和事件机制的理解
Apr 14 #Javascript
Kindeditor在线文本编辑器如何过滤HTML
Apr 14 #Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
Apr 14 #Javascript
[原创]JQuery 在表单提交之前修改 提交的值
Apr 14 #Javascript
javaScript数组迭代方法详解
Apr 14 #Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
Dec 24 #Javascript
You might like
如何过滤高亮显示非法字符
2006/10/09 PHP
PHP安装攻略:常见问题解答(一)
2006/10/09 PHP
php中stream(流)的用法
2014/03/25 PHP
php找出指定范围内回文数且平方根也是回文数的方法
2015/03/23 PHP
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
javascript 写的一个简单的timer
2009/07/30 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
js如何打印object对象
2015/10/16 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
js实现异步循环实现代码
2016/02/16 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
10 种最常见的 Javascript 错误(频率最高)
2018/02/08 Javascript
JavaScript实现简单贪吃蛇效果
2020/03/09 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
2020/04/15 Javascript
Python牛刀小试密码爆破
2011/02/03 Python
python实现绘制树枝简单示例
2014/07/24 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
python队列原理及实现方法示例
2019/11/27 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
python跨文件使用全局变量的实现
2020/11/17 Python
浅谈html5 响应式布局
2014/12/24 HTML / CSS
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
枚举与#define宏的区别
2014/04/30 面试题
人民教师的自我评价分享
2014/02/21 职场文书
社区志愿者活动方案
2014/08/18 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书