新聞中心
前言
在學(xué)習(xí)tcp/ip的時(shí)候,經(jīng)常遇到一些關(guān)于跟端口有關(guān)的東西,在寫網(wǎng)絡(luò)上的一些東西,有時(shí)用的一些端口被提示:端口已被占用,啊啊啊,挺郁悶的,然后就想著將它搞明白,下面話不多說了,來一起看看詳細(xì)的介紹吧。
Nodejs檢測(cè)端口是否被占用
開啟本地服務(wù)時(shí),有這么一種情況:當(dāng)前端口已經(jīng)被另一個(gè)項(xiàng)目使用了,導(dǎo)致服務(wù)開啟失敗。
那么接下來,我們通過簡(jiǎn)簡(jiǎn)單單的十行代碼來檢測(cè)端口是否已經(jīng)被占用。
思路
想要知道端口是否被占用,我們可以開啟一個(gè)新的服務(wù)并監(jiān)聽該端口,若開啟成功則說明端口未被占用,反之該端口已經(jīng)被其他程序使用了。
基本思路有了,下面我們開始編寫代碼。
基礎(chǔ)代碼
portIsOccupied.js
var net = require('net') // 檢測(cè)端口是否被占用 function portIsOccupied (port) { // 創(chuàng)建服務(wù)并監(jiān)聽該端口 var server = net.createServer().listen(port) server.on('listening', function () { // 執(zhí)行這塊代碼說明端口未被占用 server.close() // 關(guān)閉服務(wù) console.log('The port【' + port + '】 is available.') // 控制臺(tái)輸出信息 }) server.on('error', function (err) { if (err.code === 'EADDRINUSE') { // 端口已經(jīng)被使用 console.log('The port【' + port + '】 is occupied, please change other port.') } }) } // 執(zhí)行 portIsOccupied(1987)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
新聞標(biāo)題:利用Node.js檢測(cè)端口是否被占用的方法-創(chuàng)新互聯(lián)
文章位置:http://fisionsoft.com.cn/article/cdpsse.html