在這裏我將非常具體,希望瞭解這一點的人們可以編輯以改寫爲一般情況。在nodejs中,如何檢查某個端口是正在偵聽還是正在使用
當前當您運行「節點調試」時,它產生一個進程來偵聽端口5858.然後在父進程中,嘗試連接到該端口。
但是,如果您正在運行另一個「節點調試」會話,則當前「節點調試」掛起,因爲該端口正在使用中。
具體來說,你看到的信息是:
$ node debug example/gcd.js 3 5
< debugger listening on port 5858 >
connecting...
更好的將是它檢測到端口正在使用(沒有連接到它可能搞砸了客戶端試圖連接現有的調試器)。
編輯:接受的解決方案現在在trepanjs。
也Node JS - How Can You Tell If A Socket Is Already Open With The Einaros WS Socket Module?
你可以嘗試和監聽端口和看看你是否收到'EADDRINUSE'錯誤。 – robertklep
@robertklep雖然這是正確的想法,我一直在尋找特定的代碼。 – rocky