Javascript http.ClientRequest套接字不';不发出数据事件

Javascript http.ClientRequest套接字不';不发出数据事件,javascript,node.js,http,Javascript,Node.js,Http,我想使用http模块。唯一的方法(IMO)是向套接字数据事件添加侦听器。但它似乎不起作用 下面是一个代码示例 var http=require('http'); var request=http.request('http://nodejs.org/'); request.end(); 请求.on('socket',函数(socket){ socket.once('data',函数TTFB(){ console.log(“永不发生”); }); }); 请求.on('response',函数(r

我想使用http模块。唯一的方法(IMO)是向套接字数据事件添加侦听器。但它似乎不起作用

下面是一个代码示例

var http=require('http');
var request=http.request('http://nodejs.org/');
request.end();
请求.on('socket',函数(socket){
socket.once('data',函数TTFB(){
console.log(“永不发生”);
});
});
请求.on('response',函数(response){
console.log('status code',response.statusCode');
on('data',函数noop(){});
on('end',function(){
log('Bytes read',request.socket.bytesRead);
});
});

套接字没有数据事件。尝试在connect上收听

request.on('socket', function(socket) {
    socket.once('connect', function TTFB() {
        //Socket has been assigned to a request.
    });
});
通过检查套接字对象,可以看到套接字发出的事件

_events: {
    end: {
        [Function: g] listener: [Function: onend]
    },
    finish: [Function: onSocketFinish],
    _socketEnd: [Function: onSocketEnd],
    free: [Function],
    close: [
        [Function],
        [Function: socketCloseListener]
    ],
    agentRemove: [Function],
    drain: [Function: ondrain],
    error: [Function: socketErrorListener],
    connect: {
        [Function: g] listener: [Function]
    }
}

如果插座没有,那么谁会呢?连接不是一个选项。TTFB是(从服务器)到第一个字节的时间。顺便说一句,net.Socket确实有一个。