javascript - 在 Windows 10 上重新运行 Node.js 服务器时出现 EADDRINUSE 错误

标签 javascript node.js windows-10

我遇到了一个问题,在 Windows 10 上重新加载(ctrl + c,然后再次使用 node app 运行)基本 Node.js 服务器(尝试过 v0.12.0 和 v0.12.7)会导致服务器在重新加载之前挂起大约 20 秒。当使用 PM2 等工具监视我的服务器时,对文件进行任何更新后都会出错,并且日志显示 EADDRINUSE 错误。

我将其归结为最简单的示例(认为这可能是 Express 的问题),但 Node.js 文档中的基本示例仍然出现这种情况:

var http = require('http');

http.createServer(function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end('Hello World\n');
}).listen(3030);

console.log('Server running at http://127.0.0.1:3030/');

我检查了端口 3030 上没有其他任何东西在运行。我还尝试了不同的端口号。只是 Node.js 进程似乎没有及时关闭并释放端口。我还尝试使用 ctrl+break,并捕获 SIGINT 并手动调用 process.exit()。我可以确认它捕获了信号,但它仍然按照描述挂起。

我在从 Windows 7 升级到 Windows 10 后不久第一次注意到这一点,之前没有遇到过问题,所以我认为这是最有可能的罪魁祸首。我有 Ubuntu 14.04 双启动,并且使用相同的代码没有任何问题。

最佳答案

我不再遇到我所描述的问题:这可能是我的设置所特有的问题,因为它没有在其他地方报告过。我已经更新到 Node 4.2.1 并安装了各种 Windows 更新,所以很难说最初的原因是什么。

关于javascript - 在 Windows 10 上重新运行 Node.js 服务器时出现 EADDRINUSE 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32425063/

相关文章:

javascript - 和使用 Handlebar 的语句

javascript - 使用 HTML/Javascript 中的字符串将循环内的按钮设置为 onclick 函数

javascript - 调用 TypeScript 编译器作为 NPM 模块

node.js - MongoDB find() 什么都不返回

windows-10 - 无法打开输入文件 : symfony

javascript - "return false"如何优化您的脚本

javascript - 通过传递 ID 获取输入类型

javascript - 如何使用 Node 将图像上传到 S3

c# - UWP 上的 Accelerometer.Shaken 事件不起作用,有什么解决方案吗?

load - Visual Studio 2015 CTP 6 Windows 10 项目设计器加载失败