是否有NodeJS'passthrough'流?

时间:2013-10-18 08:41:35

标签: node.js stream

是否存在NodeJS'passthrough'流?

即。我放入的任何东西都会立即出现,不变。

这似乎毫无意义,但它可以作为开发期间快速更改代码的“静态中心”。

2 个答案:

答案 0 :(得分:37)

呀。实际上,就是那个名字。 :)

  

stream.PassThrough

它可用于节点0.10及更高版本作为Streams 2 update的一部分(最后提到)。

它也是Streams中可以直接实例化的少数类型之一:

var pass = new stream.PassThrough();

而且,它目前在API for Stream Implementors下简要记录(位于Steams ToC的底部)。

答案 1 :(得分:4)

当你需要将TCP服务器的输入字节发送到另一个TCP服务器时,它真的很方便。

在我的microntoller应用程序的Web部件中,我使用如下

   var net = require('net'),
       PassThroughStream = require('stream').PassThrough,
       stream = new PassThroughStream();

   net.createServer({allowHalfOpen: true}, function(socket) {
     socket.write("Hello client!");
     console.log('Connected:' + socket.remoteAddress + ':' +    socket.remotePort);
     socket.pipe(stream, {end: false});
     }).listen(8080);

   net.createServer(function(socket) {
     stream.on('data', function (d) {
      d+='';
      socket.write(Date() + ':' + ' ' + d.toUpperCase());
    });
   socket.pipe(stream);
   }).listen(8081);