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

最新文章

  1. 原生js之四步走搞定Ajax
  2. winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法。
  3. VS2012编译VS2010版本的过程报错解决
  4. Linux sticky bit 目录权限 rwt权限
  5. iOS改变NavigationBar的返回键和标题颜色、大小
  6. 磁盘操作- inode/Block深入实战
  7. HTML5 文件API(一)
  8. selenium webdriver 环境搭建--java
  9. 1047 - Neighbor House(简单线性DP)
  10. (转载)解决WPF动画属性锁死问题
  11. kibana 版本kibana-4.3.1 修改地图
  12. xcode6+ios8 横屏下启动画面不显示问题修改
  13. 部署LAMP+NFS实现双Web服务器负载均衡
  14. 一个CSS简单入门网站
  15. ReentrantLock之非公平锁源码分析
  16. Android直连SQL Server数据库
  17. leetcode105
  18. linux下如何使用gdb调试
  19. 白鹭引擎 - 碰撞检测 ( hitTestPoint )
  20. netbeans启动后一会崩溃处理

热门文章

  1. IntelliJ IDEA配置maven3.3.3+mybatis3.1.1
  2. 压缩VBox虚拟机空间的方法
  3. apicloud 基础
  4. jQuery核心函数的四种不同用法
  5. 【小程序云开发入门】quickStart
  6. iOS开发证书与配置文件的使用
  7. Oracle 数据库维护管理之--dbms_lock
  8. express中间件原理 && 实现
  9. 前端必备:FastStoneCapture 和 Licecap &&& mingw c++ 编译执行
  10. Eclipse删除switch workspace下多余的workspace