如何在节点中打开TCP套接字并使用http.request?

时间:2015-06-17 20:35:13

标签: node.js sockets http tcp request

使用node.js我正在尝试从一系列HTTP请求中读取数据,然后解析数据,然后写入TCP套接字以便提取到数据服务中。

似乎当套接字打开时,http.request会出错。

我已将此代码剥离到问题本身:

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

var socket = net.createConnection(9997);

var req = http.request("http://www.google.com", function(response) {
    var body = '';

    response.on('data', function(c) {
        body += c;
    });

    response.on('end', function() {
        console.log(body);
    });
});
req.end();

这将失败:

events.js:85 
      throw er; // Unhandled 'error' event
            ^
Error: connect ECONNREFUSED
    at exports._errnoException (util.js:746:11)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)

但是,如果您注释掉以var socket开头的行,则http.request调用运行正常。

任何人都可以解释为什么一个套接字在不相关的端口上打开后我无法使用http.request?

谢谢!

0 个答案:

没有答案