是否有 NodeJS 'passthrough' 流?
即一个物体,无论我放入什么,都会立即出来,保持不变。
这似乎毫无意义,但它作为开发过程中快速更改代码的"静态中心"很有用。
是的。实际上,就是这个名字。:)
stream.PassThrough
它作为 Streams 2 更新的一部分随节点 0.10 及更高版本一起提供(在末尾提到)。
它也是 Streams 中为数不多的可以直接实例化的类型之一:
var pass = new stream.PassThrough();
而且,它目前简要记录在流实现者的API下(朝向Steams ToC的底部)。
当您需要将TCP服务器的输入字节发送到另一个TCP服务器时,它非常方便。
在我的微控制器应用程序的 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);