RangeError:“端口”参数必须 >= 0 且 < 65536

QPT*_*PTR 6 node.js electron

我有一个用 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 返回后开始监听吗?

  • 他发现“端口号超出范围”。与“使用中的地址”无关。我并没有“只是驳回他的问题”,我提供了正确的解决方案。而不仅仅是猜测。 (2认同)