国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

nodejs 檢測port是否被占用

hyuan / 1154人閱讀

摘要:為了解決工具起多個(gè)服務(wù)的時(shí)候端口被占用的情況。分享研究的代碼片段。

為了解決 ssr 工具 起多個(gè)服務(wù)的時(shí)候端口被占用的情況。分享研究的代碼片段。

// 檢測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:傳入的端口號(hào)
        if(bl === true){
            // ssr(_pt)
            server = http.createServer(connListener);
            server = server.listen(parseInt(_pt, 10));
            console.log("
  Static file server running at" + "

=> http://localhost:" + _pt + "
");
        }else{
            server(_pt+1)
        }
    })
}

關(guān)注公眾號(hào)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/91535.html

相關(guān)文章

  • Nodejs高性能原理(下) --- 事件循環(huán)詳解

    摘要:如果一個(gè)即時(shí)定時(shí)器是被一個(gè)正在執(zhí)行的回調(diào)排入隊(duì)列的,則該定時(shí)器直到下一次事件循環(huán)迭代才會(huì)被觸發(fā)。參數(shù)描述在事件循環(huán)的當(dāng)前回合結(jié)束時(shí)要調(diào)用的函數(shù)。事件輪詢隨后的調(diào)用,會(huì)在任何事件包括定時(shí)器之前運(yùn)行。 系列文章 Nodejs高性能原理(上) --- 異步非阻塞事件驅(qū)動(dòng)模型Nodejs高性能原理(下) --- 事件循環(huán)詳解 前言 終于開始我nodejs的博客生涯了,先從基本的原理講起.以前寫...

    newsning 評(píng)論0 收藏0
  • vue-cli#4.7項(xiàng)目結(jié)構(gòu)分析

    摘要:前言使用過進(jìn)行項(xiàng)目開發(fā)的同學(xué),一定知道或者使用過腳手架,他能夠很好的搭建項(xiàng)目結(jié)構(gòu)和工程,讓我們能夠把足夠的精力放在業(yè)務(wù)開發(fā)上。對象提供一系列屬性,用于返回系統(tǒng)信息返回當(dāng)前進(jìn)程的命令行參數(shù)數(shù)組。 前言 使用過 vue 進(jìn)行項(xiàng)目開發(fā)的同學(xué),一定知道或者使用過 vue-cli 腳手架,他能夠很好的搭建項(xiàng)目結(jié)構(gòu)和工程,讓我們能夠把足夠的精力放在業(yè)務(wù)開發(fā)上。也正是因?yàn)檫@樣,很多時(shí)候我們會(huì)因?yàn)轫?xiàng)目...

    EastWoodYang 評(píng)論0 收藏0
  • [翻譯]了解NodeJS看這一篇就夠了

    摘要:當(dāng)這些隱藏于幕后的工作者處理完委托給它們的事件后,它們會(huì)觸發(fā)綁定在這些事件上的回調(diào)函數(shù)去通知。習(xí)慣回調(diào)是一個(gè)單線程事件驅(qū)動(dòng)的運(yùn)行環(huán)境,也就是說,在里,任何事都是對事件的響應(yīng)。 原文地址:https://codeburst.io/the-only-nodejs-introduction-youll-ever-need-d969a47ef219 作者:vick_onrails 摘要:這...

    pakolagij 評(píng)論0 收藏0
  • nodejs微服務(wù)解決方案

    摘要:前言是一個(gè)微服務(wù)工具集,它賦予系統(tǒng)易于連續(xù)構(gòu)建和更新的能力。這個(gè)對象既包含某個(gè)微服務(wù)所需要調(diào)取另一個(gè)微服務(wù)的特征,同時(shí)也包含傳參。和微服務(wù)發(fā)現(xiàn)有些類似不過是用模式代替,目前為止模式是完全可以實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)功能,但是否更加靈活還有待去挖掘。 前言 seneca是一個(gè)nodejs微服務(wù)工具集,它賦予系統(tǒng)易于連續(xù)構(gòu)建和更新的能力。下面會(huì)逐一和大家一起了解相關(guān)技術(shù)入門以及實(shí)踐。 這里插入一段硬廣...

    canger 評(píng)論0 收藏0
  • 袋鼠云前端項(xiàng)目發(fā)布工具dtux-kangaroo

    摘要:每家公司在前端項(xiàng)目發(fā)布體系可能不盡相同,本篇文章僅僅介紹袋鼠云的前端發(fā)布體系,希望能對大家能有所啟發(fā)。目前袋鼠云采用的是前后端分離的方式,但是開發(fā)中還是比較依賴后端的,接口數(shù)據(jù)還不是很完善。 前言 在目前的大趨勢下,前端和后端解耦已經(jīng)是一個(gè)業(yè)界的趨勢。前端和后端一旦解耦之后,前端的項(xiàng)目和后端的項(xiàng)目便可以自己發(fā)布,互不影響。這樣極大地提高工作效率,免去了很多互相等待的時(shí)間。每家公司在前端...

    yacheng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<