有没有NodeJS'passthrough'流?是否有NodeJS'passthrough'流?
即一个对象,无论我放入它立即出来,不变。
这似乎毫无意义,但它在开发过程中作为快速变化代码的“静态中心”是有用的。
有没有NodeJS'passthrough'流?是否有NodeJS'passthrough'流?
即一个对象,无论我放入它立即出来,不变。
这似乎毫无意义,但它在开发过程中作为快速变化代码的“静态中心”是有用的。
是的。其实,就是那个名字。 :)
它的问世与节点0.10后来由于Streams 2 update的一部分(在末尾提到)。
这也是从流的几类可以直接实例之一:
var pass = new stream.PassThrough();
而且,它目前API for Stream Implementors下简要记录(向Steams ToC的底部)。
当您需要将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);
出于好奇,如果它们必须共享相同的流引用,为什么将字节从一个TCP服务器传递到下一个服务器会有用? –
[也许](http://nodejs.org/api/stream.html#stream_class_stream_passthrough)(0.10+)。 –
@JonathanLonowski谢谢,我读过那个页面20次,仍然错过了。让它成为答案,我会接受它。 – fadedbee