博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在 Node.js 中检测端口 port 是否被占用
阅读量:7078 次
发布时间:2019-06-28

本文共 1239 字,大约阅读时间需要 4 分钟。

为了解决 工具 起多个服务的时候端口被占用的情况。分享研究的代码片段。

// 检测port是否被占用function probe(port, callback) {    var server = net.createServer().listen(port)    var calledOnce = false    var timeoutRef = setTimeout(function () {        calledOnce = true        callback(false,port)    }, 2000)    timeoutRef.unref()    var connected = false    server.on('listening', function() {        clearTimeout(timeoutRef)        if (server)            server.close()        if (!calledOnce) {            calledOnce = true            callback(true,port)        }    })    server.on('error', function(err) {        clearTimeout(timeoutRef)        var result = true        if (err.code === 'EADDRINUSE')            result = false        if (!calledOnce) {            calledOnce = true            callback(result,port)        }    })}function server(_port){    var pt = _port || __port;    probe(pt,function(bl,_pt){        // 端口被占用 bl 返回false        // _pt:传入的端口号        if(bl === true){            // ssr(_pt)            server = http.createServer(connListener);            server = server.listen(parseInt(_pt, 10));            console.log("\n  Static file server running at" + "\n\n=> http://localhost:" + _pt + '\n');        }else{            server(_pt+1)        }    })}复制代码

转载地址:http://npcml.baihongyu.com/

你可能感兴趣的文章
JQuery在循环中绑定事件的问题详解
查看>>
用Inno Setup来解决.NetFramework安装问题 (转载)
查看>>
使用axis调用WebService服务端
查看>>
Linux下通过受限bash创建指定权限的账号
查看>>
php:使用XHProf查找PHP性能瓶颈
查看>>
Ubuntu单用户模式(安全模式)
查看>>
Python之反射练习
查看>>
[MST] Describe Your Application Domain Using mobx-state-tree(MST) Models
查看>>
6. python 字符串格式化表达式
查看>>
【BIEE】11_BIEE图形报表在谷歌浏览器64.0.3282.140中访问图例乱码解决
查看>>
Nginx网站常见的跳转配置实例
查看>>
GitFlow工作流常用操作流程
查看>>
asp.net跳出iframe结构转向登录
查看>>
QTTabBar
查看>>
MODBUS协议整理——功能码简述
查看>>
eclipse里maven项目An error occurred while filtering resources解决办法
查看>>
MySQL导入SQL文件及常用命令
查看>>
c#(.Net)解析xml
查看>>
调整Virtual Box硬盘大小
查看>>
社会实体经济不断下滑的个人思考
查看>>