RangeError: "port" argument must be >= 0 and < 65536
RangeError: "port" argument must be >= 0 and < 65536
我有一个用 electron 和 nodejs 编写的应用程序,我正在尝试 运行。它使用模块 portscanner 检查特定范围内的开放端口:
portscanner.findAPortNotInUse(3000, 3010, '127.0.0.1', function(error, port) {
console.log("Free port: " + port)
})
但是,我收到此错误:
RangeError: "port" argument must be >= 0 and < 65536
at assertPort (internal/net.js:17:11)
at Server.listen (net.js:1389:5)
虽然我的范围明显小于65536大于0.
网上查了一下,好像是node v6的错误(我有v6.5.0)。我是 nodejs 的新手,非常感谢有关如何解决此问题的任何帮助。谢谢
如果您收到 ADDRINUSE 或类似错误,请确保您的程序正常退出。您也可以尝试 kill
命令或使用 pm2.
但是如果你真的需要寻找一个端口,你能post剩下的代码吗?它说错误在 server.listen 中。您确定在 findAPortNotInUse 返回后开始收听吗?
It's an issue with newer versions of node.
https://github.com/FWeinb/nodeshot/issues/11
它也在 electron 项目中作为 issue 提出。
为了快速处理也可以使用try.....catch
这是一个 Express JS 问题。确保像这样编写端口侦听器:
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
可能是因为 localhost 未使用 "hosts" 中的 所需语法 定义系统文件。
文件位于@:
=> etc/hosts
(以上文件为 linux)
或
=> c:\ Windows \System32\Drivers\ etc \ hosts
(以上文件为 Windows)
即文件有一些错误的输入。
所以,尝试用下面的文本替换该文件中的所有内容,因为这是 hosts 文件中正常工作时始终存在的默认文本:
127.0.0.1 本地主机
255.255.255.255 广播主机
::1 本地主机
fe80::1%lo0 本地主机
最好先将其转换为数字,然后再使用。
类似的东西。
parseInt(process.env.PORT 作为字符串,10) || 3000
当我尝试在 0 - 65536 范围内的 8000 时,我也遇到同样的错误
- 我发送了这样的请求“http:127.0.0.1:8000status”而不是“http:127.0.0.1:8000/status”
- 检查一次“/”
我有一个用 electron 和 nodejs 编写的应用程序,我正在尝试 运行。它使用模块 portscanner 检查特定范围内的开放端口:
portscanner.findAPortNotInUse(3000, 3010, '127.0.0.1', function(error, port) {
console.log("Free port: " + port)
})
但是,我收到此错误:
RangeError: "port" argument must be >= 0 and < 65536
at assertPort (internal/net.js:17:11)
at Server.listen (net.js:1389:5)
虽然我的范围明显小于65536大于0.
网上查了一下,好像是node v6的错误(我有v6.5.0)。我是 nodejs 的新手,非常感谢有关如何解决此问题的任何帮助。谢谢
如果您收到 ADDRINUSE 或类似错误,请确保您的程序正常退出。您也可以尝试 kill
命令或使用 pm2.
但是如果你真的需要寻找一个端口,你能post剩下的代码吗?它说错误在 server.listen 中。您确定在 findAPortNotInUse 返回后开始收听吗?
It's an issue with newer versions of node.
https://github.com/FWeinb/nodeshot/issues/11
它也在 electron 项目中作为 issue 提出。
为了快速处理也可以使用try.....catch
这是一个 Express JS 问题。确保像这样编写端口侦听器:
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
可能是因为 localhost 未使用 "hosts" 中的 所需语法 定义系统文件。
文件位于@:
=> etc/hosts
(以上文件为 linux)
或
=> c:\ Windows \System32\Drivers\ etc \ hosts
(以上文件为 Windows)
即文件有一些错误的输入。
所以,尝试用下面的文本替换该文件中的所有内容,因为这是 hosts 文件中正常工作时始终存在的默认文本:
127.0.0.1 本地主机
255.255.255.255 广播主机
::1 本地主机
fe80::1%lo0 本地主机
最好先将其转换为数字,然后再使用。
类似的东西。 parseInt(process.env.PORT 作为字符串,10) || 3000
当我尝试在 0 - 65536 范围内的 8000 时,我也遇到同样的错误
- 我发送了这样的请求“http:127.0.0.1:8000status”而不是“http:127.0.0.1:8000/status”
- 检查一次“/”