Nodejs请求套接字对象参数

时间:2013-11-07 07:41:23

标签: node.js sockets request

对不起,如果我问愚蠢的问题,我正在使用下面关于nodejs长轮询的例子。 http://www.stoimen.com/blog/2010/12/02/diving-into-node-js-a-long-polling-example/

我理解他们中的大多数,但只有一件事我无法理解,尽管我已经进行了数千次搜索。

fs.stat('filepath', function(err, stats) {
    // if the file is changed
    if (stats.mtime.getTime() > request.socket._idleStart.getTime()) {
        // read it
        fs.readFile('filepath', 'utf8', function(err, data) {
            // return the contents
            response.writeHead(200, {
                'Content-Type'   : 'text/plain',
                'Access-Control-Allow-Origin' : '*'
            });

            // return response
            response.write(data, 'utf8');
            response.end();

            // return
            return false;
        });
    }
});

部分“request.socket._idleStart”,参数_idleStart的含义是什么?实际上,我尝试打印出整个请求对象并获得以下参数。

_readableState: 
   { highWaterMark: 16384,
     buffer: [],
     length: 0,
     pipes: null,
     pipesCount: 0,
     flowing: false,
     ended: false,
     endEmitted: false,
     reading: false,
     calledRead: false,
     sync: true,
     needReadable: false,
     emittedReadable: false,
     readableListening: false,
     objectMode: false,
     defaultEncoding: 'utf8',
     ranOut: false,
     awaitDrain: 0,
     readingMore: false,
     decoder: null,
     encoding: null },
  readable: true,
  domain: null,
  _events: {},
  _maxListeners: 10,
  socket: 
....
...
...

我想知道是否有任何文件描述这些参数,感谢所有人的帮助!

1 个答案:

答案 0 :(得分:1)

带有_下划线的参数用于维护套接字的状态,它不适合使用它们。有些功能比那些更可靠。

来自node.js文档的

  

readable._read

     

注意:不应直接调用此函数。它应该是   由子类实现,并由内部Readable调用   只有类方法。

     

所有可读流实现必须提供_read方法   从底层资源获取数据。

     

此方法以下划线为前缀,因为它是内部的   定义它的类,不应由用户直接调用   程式。但是,您需要覆盖此方法   自己的扩展类。