7

我一直在学习 learnyoujs 和 stream-adventure 教程:

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

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

我已经完成了第一组,大部分时间都完成了第二组,但我不断收到一个奇怪的错误……通常我可以让它消失。

这是命令/错误:

DEV/javascript/streamAdventure » 流式冒险运行 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 node 然后找到该进程并杀死它。

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

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);

如果我只是运行 nod httpserver.js 然后 curl 它,它工作正常......那么有没有人知道是什么导致了这个错误?

4

2 回答 2

3

这里有一个拉取请求来解决这个问题: https ://github.com/substack/stream-adventure/pull/16

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

于 2013-09-22T05:37:44.860 回答
0

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

于 2013-12-11T16:16:16.457 回答