摘要:為了解決工具起多個服務的時候端口被占用的情況。分享研究的代碼片段。
為了解決 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(" Static file server running at" + " => http://localhost:" + _pt + " "); }else{ server(_pt+1) } }) }
關注公眾號
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91535.html
摘要:如果一個即時定時器是被一個正在執行的回調排入隊列的,則該定時器直到下一次事件循環迭代才會被觸發。參數描述在事件循環的當前回合結束時要調用的函數。事件輪詢隨后的調用,會在任何事件包括定時器之前運行。 系列文章 Nodejs高性能原理(上) --- 異步非阻塞事件驅動模型Nodejs高性能原理(下) --- 事件循環詳解 前言 終于開始我nodejs的博客生涯了,先從基本的原理講起.以前寫...
摘要:前言使用過進行項目開發的同學,一定知道或者使用過腳手架,他能夠很好的搭建項目結構和工程,讓我們能夠把足夠的精力放在業務開發上。對象提供一系列屬性,用于返回系統信息返回當前進程的命令行參數數組。 前言 使用過 vue 進行項目開發的同學,一定知道或者使用過 vue-cli 腳手架,他能夠很好的搭建項目結構和工程,讓我們能夠把足夠的精力放在業務開發上。也正是因為這樣,很多時候我們會因為項目...
摘要:當這些隱藏于幕后的工作者處理完委托給它們的事件后,它們會觸發綁定在這些事件上的回調函數去通知。習慣回調是一個單線程事件驅動的運行環境,也就是說,在里,任何事都是對事件的響應。 原文地址:https://codeburst.io/the-only-nodejs-introduction-youll-ever-need-d969a47ef219 作者:vick_onrails 摘要:這...
摘要:前言是一個微服務工具集,它賦予系統易于連續構建和更新的能力。這個對象既包含某個微服務所需要調取另一個微服務的特征,同時也包含傳參。和微服務發現有些類似不過是用模式代替,目前為止模式是完全可以實現服務發現功能,但是否更加靈活還有待去挖掘。 前言 seneca是一個nodejs微服務工具集,它賦予系統易于連續構建和更新的能力。下面會逐一和大家一起了解相關技術入門以及實踐。 這里插入一段硬廣...
摘要:每家公司在前端項目發布體系可能不盡相同,本篇文章僅僅介紹袋鼠云的前端發布體系,希望能對大家能有所啟發。目前袋鼠云采用的是前后端分離的方式,但是開發中還是比較依賴后端的,接口數據還不是很完善。 前言 在目前的大趨勢下,前端和后端解耦已經是一個業界的趨勢。前端和后端一旦解耦之后,前端的項目和后端的項目便可以自己發布,互不影響。這樣極大地提高工作效率,免去了很多互相等待的時間。每家公司在前端...
閱讀 1164·2021-09-10 10:51
閱讀 896·2019-08-30 15:53
閱讀 2724·2019-08-30 12:50
閱讀 976·2019-08-30 11:07
閱讀 1990·2019-08-30 10:50
閱讀 3598·2019-08-29 18:47
閱讀 1308·2019-08-29 18:44
閱讀 1599·2019-08-29 17:01