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

在通过node.js套接字传递数据时,谁确保数据完整接收/读取?调用者或node.js?在node.js套接字中写入和“数据”事件

每次写入是否对应一个'数据'事件?我是否需要明确检查以确保收到的数据的长度与写入的内容相对应?换句话说,我必须保持长度标题吗?

回答:

当你执行一个写命令: socket.write(data[, encoding][, callback]),当数据被最后写出 的callback参数将被执行 - 这可能不会马上。

单个写命令可能会导致的data事件序列:

const readable = getReadableStreamSomehow(); 

readable.on('data', (chunk) => {

// chunk.length bytes of data received

});

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

P.S.上面的答案适用于像套接字这样的TCP。

以上是 在node.js套接字中写入和“数据”事件 的全部内容, 来源链接: utcz.com/qa/257544.html

回到顶部