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

node檢測端口可用性的實(shí)踐示例

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

前言

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

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

我們需要解決這個問題。

創(chuàng)建項(xià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ù),再打開一個命令行,再嘗試啟動。

因?yàn)?000端口已經(jīng)運(yùn)行了一個服務(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檢測端口可用性的實(shí)踐示例的文章就介紹到這了,更多相關(guān)node檢測端口可用性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

    這篇文章主要介紹了監(jiān)控Nodejs的性能實(shí)例代碼,本文給大家介紹的非常詳細(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最初是各大語言中對排序算法的實(shí)現(xiàn)
    2022-06-06
  • 詳解NodeJs支付寶移動支付簽名及驗(yàn)簽

    詳解NodeJs支付寶移動支付簽名及驗(yàn)簽

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

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

    自從MySQL被Oracle收購以后,PostgreSQL逐漸成為開源關(guān)系型數(shù)據(jù)庫的首選。這篇文章就給大家介紹了關(guān)于Node.js如何連接postgreSQL數(shù)據(jù)庫,并進(jìn)行數(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包管理工具來進(jìn)行配置,需要的朋友可以參考下
    2016-03-03
  • Node.js 8 中的重要新特性

    Node.js 8 中的重要新特性

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

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

    這篇文章主要介紹了node.js與C語言 實(shí)現(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項(xiàng)目中使用ffi-napi模塊調(diào)用DLL文件,并詳細(xì)描述了環(huán)境搭建、安裝Electron和ffi-napi、配置Visual Studio和Python環(huán)境、解決常見問題等步驟,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • 詳解使用PM2管理nodejs進(jìn)程

    詳解使用PM2管理nodejs進(jìn)程

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

最新評論

兰西县| 武汉市| 甘孜县| 平江县| 祁连县| 高唐县| 高雄市| 朔州市| 余姚市| 桐柏县| 湄潭县| 杭锦旗| 乐亭县| 阜宁县| 高阳县| 广饶县| 巨野县| 叶城县| 章丘市| 南召县| 夏津县| 四平市| 德清县| 天津市| 黄骅市| 奎屯市| 山西省| 贡嘎县| 饶平县| 辉南县| 同心县| 轮台县| 无棣县| 肃南| 鄂尔多斯市| 邻水| 巨野县| 苗栗市| 汉沽区| 孟津县| 高陵县|