gpt4 book ai didi

node.js - NodeJs TCP 客户端 bufferSize 调用多个 `data` 事件?

转载 作者:可可西里 更新时间:2023-11-01 02:49:15 26 4
gpt4 key购买 nike

我刚刚注意到在 NodeJs TCP 客户端中有一个 bufferSize,您可以将传入缓冲区限制到 TCP 客户端。

所以我的问题是,如果我将客户端的 bufferSize 设置为 1 个字节并从服务器发送 16 个字节,我是否应该在客户?

最佳答案

您所指的 bufferSizeread-only property 可写流:

Object.defineProperty(Socket.prototype, 'bufferSize', {
get: function() {
if (this._handle) {
return this._handle.writeQueueSize + this._writableState.length;
}
}
});

(如果你在谈论其他事情,请纠正我)

如果你想控制你的客户端如何接收数据,你应该在 non-flowing mode 中设置你的流:

readable.on('readable', function() {
var chunk;
while (null !== (chunk = readable.read())) {
console.log('got %d bytes of data', chunk.length);
}
});

( see doc )

如果你只想读取 5 个字节,你可以传递 readable.read(5)。默认情况下,流将处于非流动模式,除非您附加 'data' 事件(因此在您的情况下不要这样做)。

关于node.js - NodeJs TCP 客户端 bufferSize 调用多个 `data` 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19386681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com