最近在学习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)
})

nodejs做的一个测试端口程序的更多相关文章

  1. 目前在做的一个web应用程序的前端选型

    最近进入了一个新的项目组,要新起一个项目.这个Web项目是一个企业内部使用的系统,主要用来记录.追踪.管理潜在客户的数据.该系统有以下特点: 需要支持IE10及以上版本: 后端采用micro serv ...

  2. Linux CAN Shell 测试脚本程序

    2012-01-13 22:57:14 为我的开发板2440做二次开发,添加了can驱动,做了驱动测试程序,没理由不添加一个测试脚本程序啊!修改了测试程序,使应用程序更加灵活,添加了一下传递参数.接着 ...

  3. 编写一个JAVA小程序取得IP地址

    在TCP/IP 互联网时,经常会需要查询自己主机的IP地址和www服务器的IP地址.虽然,我们可以使用IPCONFIG 和PING 进行IP地址查询,但是如果在应用程序或APPLET中使用此命令会破坏 ...

  4. Nodejs实战 —— 测试 Node 程序

    读 <node.js实战2.0>,进行学习记录总结. 当当网购买链接 豆瓣网1.0链接 测试 Node 程序 本章内容 用 Node 的 assert 模块测试 使用其他断言库 使用 No ...

  5. 【做中学】第一个 Go 语言程序:漫画下载器

    原文地址: 第一个 Go 语言程序:漫画下载器: https://schaepher.github.io/2020/04/11/golang-first-comic-downloader 之前学了点 ...

  6. fir.im Weekly - 如何做一个出色的程序员

    做一个出色的程序员,困难而高尚.本期 fir.im Weekly 精选了一些实用的 iOS,Android 开发工具和源码分享,还有一些关于程序员的成长 Tips 和有意思有质量的线下活动~ How ...

  7. Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。

    #29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类T ...

  8. 做为一个Python程序员的基本素养

    今天在学习的过程中,明白了一些不是Python标准所必须要做的事情,二是做为一个合格的Python程序员应该所遵从的一些规范 分享给大家,有不足的地方请大家指正,此下是我学习的一点心得: 1.在给变量 ...

  9. 做了一个动态代理IP池项目,邀请大家免费测试~

    现在出来创业了,目前公司在深圳. 做了啥呢, 做了一个动态代理 IP 池项目 现在邀请大家免费测试体验! 免费激活码:关注微信公众号:2808proxy (每人每天限领一次噢~) 网站:https:/ ...

随机推荐

  1. IdentityServer4登陆中心

    1. 使用Vsual Studio Code 终端执行 dotnet new webapi --name IdentityServerSample 命令创建一个webapi 的 IdentitySer ...

  2. H02-启动hdfs时可能遇到的几个问题

    启动hdfs时,有时候可能会遇到这样几种情况: 1)在主节点上执行start-dfs.sh命令启动hdfs,无法启动datanode. 2)在主节点上行启动hdfs,启动成功了,在各个节点上使用jps ...

  3. 剑指offer六十一之序列化二叉树(待补充)

    一.题目 请实现两个函数,分别用来序列化和反序列化二叉树二.思路 三.代码 --------------------------------------------- 参考链接:

  4. Netty核心概念(6)之Handler

    1.前言 本节介绍Netty中第三个重要的概念——Handler,这个在前两节都提到了,尤其是Channel和Handler联系紧密.handler本身的设计非常简单,但是所起到的作用却很大,Nett ...

  5. Postman—参数化

    一.单个数据参数化 场景:购物车接口,需要用到登录接口返回的token 1.登录接口,在Tests里面设置usertoken环境变量,用来保存token值. 2.获取购物车接口使用usertoken变 ...

  6. Android_问卷调查

    这个是一个简单的问卷调查,对于我这样的初学者可能会绞尽脑汁想尽办法,去实现一个看起来特别简单的功能,我这个是用Intent传参的办法,来实现将前边的调查来进行统计,并记录,之后将这些信息显示到最后一个 ...

  7. Android 开发工具类 24_getHtml

    获取网页(JSP)源码 import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; impo ...

  8. Ubuntu各版本的历史发行界面

    不多说,直接上干货! 总的网址是:http://releases.ubuntu.com/releases/  比如,选择的是UbuntuKylin,则点击 http://cdimage.ubuntu. ...

  9. Nodejs学习笔记(十四)—Mongoose介绍和入门

    简介 Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具 那么要使用它,首先你得装上node.js和mongodb,关于mongodb的安装和操作介绍可以参考:ht ...

  10. json list数据递归生成树状层级JSON

    <!DOCTYPE html> <html> <head> <script> var data=[ {"id":"aaa& ...