Nodejs检测端口是否被占用

最近在研究一个企业级的WEB服务器,在启动应用是需要查看端口是否被程序占用,所有想通过程序来监听端口占用情况,决定是否启动应用。

使用方式:

1.引入net模块

var net = require('net')

2.定义函数

function postOccupied(port, callback){
  var server = net.createServer().listen(port)

  server.on('listening', function () {
    server.close() // 关闭服务
    console.log(port, '端口可以使用');
    callback(true);
  });

  server.on('error', function (err) {
    if (err.code === 'EADDRINUSE') {
      console.log(port, '端口已被占用')
      callback(false);
    }
  });
}

3.使用方式

this.postOccupied(port,function(success){
    if(!success){
      //提示信息
      that.notify('端口已被占用','','error')
      return ;
    }
    //启动程序
    that.runJar();
    
});

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注