BSON Encoding and Decoding C#



我使用此代码解码从服务器发送的字节

packets = SimpleBSON.Load(ReceivedBytes);
for (int i = 0; i < packets["mc"]; i++)
{
BSONObject packet = packets["m" + i] as BSONObject;
//here i can use the received packet
packet["hey"] = "hello";
}

但我很难再把它编码回来我正在使用Kernys.BSON我试过这个

var obj = new BSONObject();
obj["m" + 0] = new BSONObject();
obj["m" + 0]["hey"] = "hi";

但由于某种原因,不起作用

这就是我修复的方法

var GPd = new BSONObject();
GPd["m" + 0] = new BSONObject();
GPd["m" + 0]["hey"] = "hi";
GPd["mc"] = 1;
byte[] mainsend = SimpleBSON.Dump(GPd);
MemoryStream memoryStream = new MemoryStream();
using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
{
byte[] bsonDump = SimpleBSON.Dump(GPd);
binaryWriter.Write(bsonDump.Length + 4);
binaryWriter.Write(bsonDump);
}
//memorystream.ToArray is the encoded bytes
}

最新更新