2016-02-04 125 views
1

我用下面的代碼工作正常,以提供可用的端口狀態更改爲通過代碼

portscanner.findAPortNotInUseAsync(55001, 65000, 'localhost'). 
then(function (port) { 
     ... 

在實時應用程序正在使用端口,更改端口的狀態來運行結束打開,如何通過代碼模擬並更改端口狀態以打開

我需要它的內部測試...

當我嘗試阿米娜的我錯了PARAM的開放 enter image description here

此地位的建議是從webstrom屏幕截圖

回答

0

功能findAPortNotInUseAsync內部使用定義此處的功能checkPortStatushttps://github.com/baalexander/node-portscanner/blob/master/lib/portscanner.js#L93

您可以派生此項目,並添加除離子到你想設置爲開放的端口。 例如:

模塊中portscanner.js文件:

portscanner.manualOpenPort={} 
portscanner.setPortToOpen=function(port){ 
    portscanner.manualOpenPort[port]=true 
} 

在你的程序:

portscanner.setPortToOpen(5050) 

現在,你需要加入這一行原checkPortStatus功能:

portscanner.checkPortStatus = function(port, options, callback) { 
    if (portscanner.manualOpenPort[port]) { 
     callback(null,'open'); 
     return 
    } 
+1

謝謝我試過它,當我沒有做setPortToOpen我得到錯誤:TypeError:無法讀取未定義的屬性「55001」,我應該在哪裏放置portscanner.manualOpenPort = {}的代碼...我已經在該模塊(在node_modules下),並且我只有一個文件potscanner.js的文件夾庫。 –

+0

在portscanner.js – Aminadav

+1

我試過了,現在看來,當我使用portscanner.checkPortStatus時,我在錯誤中打開了,爲什麼? portscanner.checkPortStatus(端口,主機,功能(錯誤,狀態) –