将长度值添加到Buffer的开头

时间:2013-04-24 16:06:12

标签: javascript node.js

我使用节点在套接字上发送二进制值,并希望在数据前面发送一个4字节长度的值,以便接收方知道要预期的数据量。

如何使用缓冲区完成此操作?我使用Protobuf节点首先构造一个缓冲区,然后我需要将大小附加到缓冲区的开头。

1 个答案:

答案 0 :(得分:0)

要附加到当前缓冲区的开头,最简单的方法是创建一个新缓冲区。

var buf = // Protobuf buffer

// Create a 4-byte buffer with the length.
var prefix = new Buffer(4);
prefix.writeUint32LE(buf.length, 0);

// Join them together as a new Buffer.
var data = Buffer.concat([prefix, buf]);