最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node檢測端口可用性的實踐示例

 更新時間:2023年02月01日 10:17:41   作者:在下月亮有何貴干  
本文主要介紹了node檢測端口可用性的實踐示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

我們編寫自己的框架或者 nodejs 服務(wù)器代碼時,可能會用一些固定使用我們常用的端口。

問題來了,如果是編寫框架,你的框架中固定了框架使用8000端口,用戶使用你的框架時并不知道,此時他本機的8000端口被占用了,那用戶豈不是無法使用你的框架了。

我們需要解決這個問題。

創(chuàng)建項目

$ mkdir project && cd project
$ npm init -y

使用express編寫一個服務(wù)器

安裝 express

$ npm i express

編寫一個占用8000端口的服務(wù)。

// project/index.js

const express = require('express')
const app = new express()

app.listen(8000, () => {
? ? console.log(`服務(wù)器在8000端口啟動`)
})

啟動

$ node index.js
服務(wù)器在8000端口啟動

此時我們不關(guān)閉該服務(wù),再打開一個命令行,再嘗試啟動。

因為8000端口已經(jīng)運行了一個服務(wù),被占用了,所以報錯了:

$ node index.js
Error: listen EADDRINUSE: address already in use :::8000

解決

安裝 portfinder

$ npm i portfinder 

使用 portfinder 來檢測端口是否可用,如果被占用會重新尋找一個可用的端口給你。

const express = require('express')
const portfinder = require('portfinder')
const app = new express()

const default_port = 8000;

(async () => {
? ? const port = await portfinder.getPortPromise({
? ? ? ? port: default_port
? ? })

? ? app.listen(port, () => {
? ? ? ? console.log(`服務(wù)器在${port}端口啟動`)
? ? })
})()

我們再重新啟動兩個,成功解決問題。

$ node index.js
服務(wù)器在8000端口啟動

$ node index.js
服務(wù)器在8001端口啟動

尾言

到此這篇關(guān)于node檢測端口可用性的實踐示例的文章就介紹到這了,更多相關(guān)node檢測端口可用性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 監(jiān)控Nodejs的性能實例代碼

    監(jiān)控Nodejs的性能實例代碼

    這篇文章主要介紹了監(jiān)控Nodejs的性能實例代碼,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • Node.js Continuation Passing Style( CPS與回調(diào))

    Node.js Continuation Passing Style( CPS與

    這篇文章主要介紹了Node.js Continuation Passing Style,將回調(diào)函數(shù)作為參數(shù)傳遞,這種書寫方式通常被稱為Continuation Passing Style(CPS),它的本質(zhì)仍然是一個高階函數(shù),CPS最初是各大語言中對排序算法的實現(xiàn)
    2022-06-06
  • 詳解NodeJs支付寶移動支付簽名及驗簽

    詳解NodeJs支付寶移動支付簽名及驗簽

    本文主要介紹了NodeJs支付寶移動支付簽名及驗簽的方法,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • Node.js連接postgreSQL并進行數(shù)據(jù)操作

    Node.js連接postgreSQL并進行數(shù)據(jù)操作

    自從MySQL被Oracle收購以后,PostgreSQL逐漸成為開源關(guān)系型數(shù)據(jù)庫的首選。這篇文章就給大家介紹了關(guān)于Node.js如何連接postgreSQL數(shù)據(jù)庫,并進行數(shù)據(jù)操作的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • Linux下為Node.js程序配置MySQL或Oracle數(shù)據(jù)庫的方法

    Linux下為Node.js程序配置MySQL或Oracle數(shù)據(jù)庫的方法

    這篇文章主要介紹了Linux下為Node.js程序配置MySQL或Oracle數(shù)據(jù)庫的方法,這里默認(rèn)已經(jīng)裝配好了Node環(huán)境然后我們利用npm包管理工具來進行配置,需要的朋友可以參考下
    2016-03-03
  • Node.js 8 中的重要新特性

    Node.js 8 中的重要新特性

    這篇文章主要介紹了Node.js 8 中的重要新特性的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • node.js與C語言 實現(xiàn)遍歷文件夾下最大的文件,并輸出路徑,大小

    node.js與C語言 實現(xiàn)遍歷文件夾下最大的文件,并輸出路徑,大小

    這篇文章主要介紹了node.js與C語言 實現(xiàn)遍歷文件夾下最大的文件,并輸出路徑,大小的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Node.js中的事件驅(qū)動編程詳解

    Node.js中的事件驅(qū)動編程詳解

    這篇文章主要介紹了Node.js中的事件驅(qū)動編程詳解,本文主要講解理論性知識,如什么是事件驅(qū)動編程、什么是閉包、閉包如何幫助異步編程等知識,需要的朋友可以參考下
    2014-08-08
  • Electron如何通過ffi-napi調(diào)用dll導(dǎo)出接口

    Electron如何通過ffi-napi調(diào)用dll導(dǎo)出接口

    文章介紹了如何在Electron項目中使用ffi-napi模塊調(diào)用DLL文件,并詳細(xì)描述了環(huán)境搭建、安裝Electron和ffi-napi、配置Visual Studio和Python環(huán)境、解決常見問題等步驟,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • 詳解使用PM2管理nodejs進程

    詳解使用PM2管理nodejs進程

    本篇文章主要介紹了詳解使用PM2管理nodejs進程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10

最新評論

高青县| 湘潭县| 陵水| 清苑县| 临沂市| 资源县| 渝中区| 云阳县| 凤庆县| 屯昌县| 凤台县| 卢氏县| 东宁县| 长治县| 女性| 安乡县| 中阳县| 思茅市| 徐汇区| 徐汇区| 兴文县| 尉犁县| 泰和县| 监利县| 岳普湖县| 新源县| 鄢陵县| 连州市| 河源市| 湘潭县| 东丰县| 临漳县| 明星| 沭阳县| 东阿县| 铁岭市| 台东县| 宽城| 大宁县| 清徐县| 门源|