将一个长度值添加到缓冲区的开始处

我使用节点通过套接字发送二进制值,并希望在数据前面发送一个4字节的长度值,以便接收者知道需要多less数据。

我怎样才能完成这个使用缓冲区? 我使用Protobuf节点首先构造一个缓冲区,然后我需要将大小附加到缓冲区的开始。

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

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]);