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)
})
原文地址:https://www.cnblogs.com/subying/p/nodejs-http-net-socket.html