Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 多个流侦听器的流背压表现如何?_Node.js_Stream - Fatal编程技术网

Node.js 多个流侦听器的流背压表现如何?

Node.js 多个流侦听器的流背压表现如何?,node.js,stream,Node.js,Stream,假设我有一个可读的流,sourceStream,它每秒生成约32KB的数据。我想通过管道将这些数据传输到多个HTTP客户端的可写流 客户端A有很好的internet连接,可以跟上我的流数据。客户端B通过其可靠的14.4kbps US机器人调制解调器连接 sourceStream.pipe(resClientA); // Pipe to Client A's writable stream sourceStream.pipe(resClientB); // Pipe to Client B's w

假设我有一个可读的流,
sourceStream
,它每秒生成约32KB的数据。我想通过管道将这些数据传输到多个HTTP客户端的可写流

客户端A有很好的internet连接,可以跟上我的流数据。客户端B通过其可靠的14.4kbps US机器人调制解调器连接

sourceStream.pipe(resClientA); // Pipe to Client A's writable stream
sourceStream.pipe(resClientB); // Pipe to Client B's writable stream
这些是TCP连接,Node.js将能够知道客户端何时落后。我知道流中内置了少量缓冲,但不久缓冲区就满了,Node.js将不得不处理
sourceStream
生成的所有数据


当客户端A继续按预期获取数据时,它是否会无限期地为客户端B缓冲?或者,节点是否会暂停该流,直到客户机B能够赶上,这意味着该流也会为客户机A暂停?或者,还会发生其他事情吗?

它的速度和最慢的读者一样慢。资料来源:

大多数情况下,你更希望读者的阅读速度不要超过最慢的作家所能适应的速度。在节点v0.10中,它就是这样工作的