2015-09-06 37 views
1

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

我熬下来,以最简单的可能的例子(想这可能是与快递的问题),但它仍然与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()。我可以确认它捕捉到信号,但它仍然如上所述挂起。

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

+0

这意味着服务器已经在运行,在启动服务器之前尝试查找和查杀进程 – aelor

+0

第一次运行它时,它不是问题,服务器启动正常。它关闭后重新开始,它不会回应。也就是说,我查找了其他任何节点进程,但没有看到任何运行。 –

回答

1

我不再有我所描述的问题:它是非常具体的,以我的设置,因为它没有报告任何其他地方有可能的东西。我已经更新到Node 4.2.1并安装了各种Windows更新,所以很难说原来的原因是什么。

相关问题