我刚刚注意到bufferSize
NodeJs TCP Client 中有一个可以将传入缓冲区限制为 TCP 客户端。
所以我的问题是,如果我将bufferSize
客户端设置为 1 个字节并从服务器发送 16 个字节,我应该data
在客户端获得 16 个不同的事件吗?
bufferSize
您指的是可写流的只读属性:
Object.defineProperty(Socket.prototype, 'bufferSize', {
get: function() {
if (this._handle) {
return this._handle.writeQueueSize + this._writableState.length;
}
}
});
(如果您在谈论其他内容,请纠正我)
如果你想控制你的客户端如何接收数据,你应该将你的流设置为非流动模式:
readable.on('readable', function() {
var chunk;
while (null !== (chunk = readable.read())) {
console.log('got %d bytes of data', chunk.length);
}
});
(见文档)
readable.read(5)
如果您只想读取 5 个字节,则可以通过。除非您附加事件,否则默认情况下流将处于非流动模式'data'
(因此在您的情况下不要这样做)。