繁体   English   中英

在node.js套接字中写入和'数据'事件

[英]Writes and 'data' events in node.js sockets

通过node.js套接字传递数据时,谁能确保完整接收/读取数据? 调用方还是node.js?

每个写入是否对应于一个“数据”事件? 我是否需要明确检查以确保接收到的数据长度与写入的数据相对应? 换句话说,我必须维护一个长度标题吗?

执行写命令socket.write(data[, encoding][, callback]) ,将在最终写出数据时执行callback参数-可能不会立即执行。

单个写入命令可能会导致一系列data事件:

const readable = getReadableStreamSomehow();
readable.on('data', (chunk) => {
// chunk.length bytes of data received
});

接收器需要通过检查所有接收到的块的长度来确保接收到整个缓冲区/字符串。 这将需要具有长度标头或类似的标记。

PS上述答案适用于类似TCP的套接字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM