国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Node.js檢測端口(port)是否被占用的簡單示例

2024-05-06 15:09:03
字體:
來源:轉載
供稿:網友

前言

在網絡技術中,端口(Port)大致有兩種意思:一是物理意義上的端口,比如,ADSL Modem、集線器、交換機、路由器用于連接其他網絡設備的接口,如RJ-45端口、SC端口等等。二是邏輯意義上的端口,一般是指TCP/IP協議中的 端口,端口號的范圍從0到65535,比如用于瀏覽網頁服務。這篇文章的目的是為了解決ssr工具起多個服務的時候端口被占用的情況,下面跟大家分享研究的代碼片段,有需要的可以參考借鑒。

示例代碼

// 檢測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)    }  })}

總結

以上就是這篇文章的全部內容了,希望能對大家的學習或者工作帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 尼木县| 静海县| 长春市| 崇州市| 铁岭县| 虎林市| 渭源县| 福海县| 大港区| 清河县| 尼勒克县| 台东市| 古浪县| 红原县| 肇源县| 张家界市| 洪泽县| 昭平县| 铜陵市| 清丰县| 四会市| 六盘水市| 英吉沙县| 涪陵区| 柘荣县| 澳门| 曲松县| 聂拉木县| 稻城县| 德阳市| 印江| 陆川县| 南宫市| 敦化市| 凤冈县| 黄冈市| 佛冈县| 儋州市| 桂阳县| 遵义县| 额敏县|