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中void(0)的具体含义解释
Aug 02 Javascript
百度 popup.js 完美修正版非常的不错 脚本之家推荐
Apr 17 Javascript
JavaScript事件委托技术实例分析
Feb 06 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
Jul 21 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
Sep 22 jQuery
解决Vue不能检测数组或对象变动的问题
Feb 24 Javascript
原生js实现公告滚动效果
Jan 10 Javascript
使用p5.js临摹动态图形
Oct 23 Javascript
js判断在哪个浏览器打开项目的方法
Jan 21 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
Aug 03 Javascript
Vue中添加滚动事件设置的方法详解
Sep 14 Javascript
原生js实现表格循环滚动
Nov 24 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
PHP学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
PHP获取数组最大值下标的方法
2015/05/12 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
JS中的prototype与面向对象的实例讲解
2013/05/22 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
js 针对html DOM元素操作等经验累积
2014/03/11 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
Python编程实战之Oracle数据库操作示例
2017/06/21 Python
Pycharm远程调试openstack的方法
2017/11/21 Python
Pytorch十九种损失函数的使用详解
2020/04/29 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
旅游管理本科生求职信
2013/10/14 职场文书
大学生实习证明范本
2014/01/15 职场文书
天鹅的故事教学反思
2014/02/04 职场文书
农业开发项目建议书
2014/05/16 职场文书
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
Golang 切片(Slice)实现增删改查
2022/04/22 Golang
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle