Подтвердить что ты не робот

Есть ли сквозной поток NodeJS?

Есть ли сквозной поток NodeJS?

то есть. объект, где все, что я в него вставляю, выдается немедленно, без изменений.

Кажется бессмысленным, но это было бы полезно как "статический центр" для быстрого изменения кода во время разработки.

4b9b3361

Ответ 1

Да. Собственно, именно этим именем.:)

stream.PassThrough

Он доступен с Node 0.10 и позже как часть обновления Streams 2 (упоминается в конце).

Он также является одним из немногих типов из потоков, которые могут быть непосредственно созданы:

var pass = new stream.PassThrough();

И в настоящее время он кратко документирован в API для исполнителей потоков (в нижней части Steams ToC).

Ответ 2

Это действительно удобно, когда вам нужно отправлять входные байты TCP-сервера на другой TCP-сервер.

В моей веб-части приложения microntoller я использую это следующим образом

   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);