我有一个用 Electron 和 Nodejs 编写的应用程序,我正在尝试运行它。它使用模块portscanner检查特定范围内的开放端口:
portscanner.findAPortNotInUse(3000, 3010, '127.0.0.1', function(error, port) {
console.log("Free port: " + port)
})
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误:
RangeError: "port" argument must be >= 0 and < 65536
at assertPort (internal/net.js:17:11)
at Server.listen (net.js:1389:5)
Run Code Online (Sandbox Code Playgroud)
即使我的范围明显小于 65536 且大于 0。
网上查了一下,好像是node v6的错误(我的是v6.5.0)。我是 Nodejs 新手,非常感谢有关如何解决此问题的任何帮助。谢谢。
Jas*_*say -4
如果您收到 ADDRINUSE 或类似错误,请确保您的程序完全退出。您也可以尝试该kill
命令或使用 pm2。
但是如果您确实需要寻找端口,您可以发布其余的代码吗?它说错误出现在 server.listen 中。您确定在findAPortNotInUse 返回后开始监听吗?