2013-04-24 72 views
2

我正在使用節點通過套接字發送二進制值,並且希望在數據前發送一個4字節的長度值,以便接收方知道需要多少數據。將長度值添加到緩衝區的開頭

如何使用緩衝區來實現這一點?我使用Protobuf爲節點首先構造一個緩衝區,然後我需要將大小追加到緩衝區的開始處。

回答

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]); 
相關問題