最近在研究一个企业级的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();
});