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 相关文章推荐
JavaScript词法作用域与调用对象深入理解
Nov 29 Javascript
JavaScript中valueOf函数与toString方法深入理解
Dec 02 Javascript
js通过地址栏给action传值(中文乱码全是问号)
May 02 Javascript
setTimeout和setInterval的深入理解
Nov 08 Javascript
jquery获取radio值(单选组radio)
Oct 16 Javascript
DOM基础教程之事件类型
Jan 20 Javascript
面向切面编程(AOP)的理解
May 01 Javascript
Vue 事件处理操作实例详解
Mar 05 Javascript
详解Nuxt内导航栏的两种实现方式
Apr 16 Javascript
vue 监听 Treeselect 选择项的改变操作
Aug 31 Javascript
Javascript实现关闭广告效果
Jan 29 Javascript
vue监听键盘事件的相关总结
Jan 29 Vue.js
即将发布的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
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
javascript call和apply方法
2008/11/24 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
2014/07/02 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
使用Require.js封装原生js轮播图的实现代码
2017/06/15 Javascript
vue树形结构获取键值的方法示例
2018/06/21 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
详解element-ui中el-select的默认选择项问题
2019/08/02 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
Python3实现发送QQ邮件功能(html)
2017/12/15 Python
Python格式化输出%s和%d
2018/05/07 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
Python语言快速上手学习方法
2018/12/14 Python
Python类和对象的定义与实际应用案例分析
2018/12/27 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
Python3简单实现串口通信的方法
2019/06/12 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
pytorch程序异常后删除占用的显存操作
2020/01/13 Python
Python连接Impala实现步骤解析
2020/08/04 Python
HTML5 实现图片上传预处理功能
2020/02/06 HTML / CSS
纽约通行卡:The New York Pass(免费游览纽约90多个景点)
2017/07/29 全球购物
简述数组与指针的区别
2014/01/02 面试题
协议书范本
2014/04/23 职场文书
班级学习计划书
2014/04/27 职场文书
大学生工作自荐书
2014/06/16 职场文书
物业保安岗位职责
2014/07/02 职场文书
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB