在NODEJS中连接ECONNREFUSED

当我运行测试另一个文件example3.js的文件example4.js时,出现错误。

这是我的代码:

**//file example 3**

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

// write out numbers
function writeNumbers(res) {

    var counter = 0;

    // increment global, write to client
    for (var i = 0; i<100; i++) {
        counter++;
        res.write(counter.toString() + 'n');
    }
}

// create http server
http.createServer(function (req, res) {

    var query = require('url').parse(req.url).query;
    var app = require('querystring').parse(query).file + ".txt";

    // content header
    res.writeHead(200, {'Content-Type': 'text/plain'});

    // write out numbers
    writeNumbers(res);

    // timer to open file and read contents
    setTimeout(function() {

        console.log('opening ' + app);
        // open and read in file contents
        fs.readFile(app, 'utf8', function(err, data) {
            if (err)
                res.write('Could not find or open file for readingn');
            else {
                res.write(data);
            }
            // reponse is done
            res.end();
        });
    },2000);
}).listen(8382);

console.log('Server running at 8124/');


**//end of example 3**

**//file example 4**

var http = require('http');

//The url we want, plus the path and options we need
var options = {
    host: 'localhost',
    port: 8124,
    path: '/?file=secondary',
    method: 'GET'
};

var processPublicTimeline = function(response) {
    // finished? ok, write the data to a file
    console.log('finished request');
};

for (var i = 0; i < 2000; i++) {
    // make the request, and then end it, to close the connection
    http.request(options, processPublicTimeline).end();
}

错误是:

events.js:72
throw er; // Unhandled 'error' event
^
Error: connect ECONNREFUSED
at errnoException (net.js:904:11)
at Object.afterConnect [as oncomplete] (net.js:895:19)
Process finished with exit code 8

有一个与相关文件的附件(我已将2个文件合并为一个)。 有人知道什么是问题吗?


我的猜测是你超出了操作系统对并发打开文件描述符的限制,因为你的客户端代码试图打开2000个并发连接。 尝试使用ulimit实用程序来增加


在代码中,您的服务器正在侦听端口号8382,并且您的客户端正尝试连接到端口号为8124的服务器正在侦听客户端。 所以,你得到了ECONNREFUSED。

链接地址: http://www.djcxy.com/p/87243.html

上一篇: connect ECONNREFUSED in NODEJS

下一篇: Node.js Error : connect ECONN Refused