故障排除错误:在nodejs stream-adventure教程中连接ECONNREFUSED

时间:2013-08-15 16:55:37

标签: javascript node.js http node.js-stream

我一直在研究learnyoujs和stream-adventure教程:

https://github.com/substack/stream-adventure

https://github.com/rvagg/learnyounode#learn-you-the-nodejs-for-much-win

我已经完成了第一套,大部分时间都是彻底完成了第二套,但我总是遇到一个奇怪的错误...通常我可以让它消失。

这是命令/错误:

DEV / javascript / streamAdventure»stream-adventure运行httpserver.js

stream.js:94
  throw er; // Unhandled stream error in pipe.
        ^
Error: connect ECONNREFUSED
  at errnoException (net.js:901:11)
  at Object.afterConnect [as oncomplete] (net.js:892:19)

这将启动但不会终止节点的进程,所以我ps aux | grep节点然后找到进程并将其杀死。

以下是教程中的“工作”代码:

var http = require('http');
var through = require('through');

var server = http.createServer(function (req, res) {
    if (req.method === 'POST') {
        req.pipe(through(function (buf) {
            this.queue(buf.toString().toUpperCase());
        })).pipe(res);
    }
    else res.end('send me a POST\n');
});
server.listen(8000);

如果我只是运行点头httpserver.js然后卷曲它,它工作正常....所以有谁有任何洞察导致此错误的原因?

2 个答案:

答案 0 :(得分:3)

有一个拉取请求来修复此问题,此处: https://github.com/substack/stream-adventure/pull/16

尝试侦听端口8001,然后在关闭所有侦听8000的进程后重新运行验证。

答案 1 :(得分:0)

我有同样的错误,问题不是虽然节点,但它是与mysql。 跑“mysqld_safe restart”(取决于你的版本),然后它工作正常。