nodejs做的一个测试端口程序

  最近在学习nodejs的http,然后做了一个测试域名有没有使用那些端口,原意是用来做一个本地的静态服务器,然后运行前先测试端口,首先要用到的是net模块,主要用到的是Socket,判断其连接状态即可实现,代码如下:

var net = require('net'),socket = net.Socket;

先是模块的引用。

接着下面是一个简单的实现:

复制代码
var testPort = function(port,host,cb){
            var nsk = new socket();


            nsk.setTimeout(5000);//设置连接超时时间  5s
            nsk.on('connect',function(){//连接状态
                nsk.destroy();//销毁
                cb(port,'open');
            })
            .on('timeout',function(){//连接超时
                nsk.destroy();
                cb(port,'timeout');
            })
            .on('error',function(){//连接错误
                nsk.destroy();
                cb(port,'closed');
            });

            nsk.connect(port,host);//执行连接
        };
复制代码

port为端口号,host为域名(IP也可以),分为三种状态 open、timeout、closed (在使用、超时、关闭的),那么运行的方法如下:

testPort(80,'127.0.0.1',function(port,status{
console.log(port,status)
})

 

posted @ 2014-01-16 09:42  subying  阅读(673)  评论(0)    收藏  举报
编辑推荐:
· JavaScript中如何遍历对象?
· 领域模型应用
· 记一次 ADL 导致的 C++ 代码编译错误
· MySQL查询执行顺序:一张图看懂SQL是如何工作的
· 为什么PostgreSQL不自动缓存执行计划?
阅读排行:
· 从被喷“假开源”到登顶 GitHub 热榜,这个开源项目上演王者归来!
· Stack Overflow,轰然倒下!
· Cursor 1.2重磅更新,这个痛点终于被解决了!
· 上周热点回顾(6.30-7.6)
· .NET AI 模板
点击右上角即可分享
微信分享提示