【发布时间】:2015-05-22 01:59:27
【问题描述】:
我正在尝试使用 javascript (ProtoBuf.js) 中的 google 协议缓冲区通过 MQTT 发送消息
我能够使用以下代码对消息进行编码:
var ProtoBuf = dcodeIO.ProtoBuf;
var builder = ProtoBuf.loadProtoFile("./complex.proto"),
Game = builder.build("Game"),
Car = Game.Cars.Car;
var car = new Car({
"model" : "Rusty",
"vendor" : {
"name" : "Iron Inc.",
"address" : {
"country" : "USa"
}
},
"speed" : "FAST"
});
var buffer = car.encode();
console.log(buffer);
var messagegpb = buffer.toBuffer();
console.log(messagegpb ); //This prints "ArrayBuffer { byteLength: 29 }"
现在进行解码时,我尝试了以下操作,但它什么也没做。我在浏览器中也看不到任何日志。
var dec = builder.build("Game"); //nothing after this line gets executed
var msg = dec.decode(messagegpb);
console.log(msg);
这是我正在使用的 .proto 文件的链接。 https://github.com/dcodeIO/ProtoBuf.js/blob/master/tests/complex.proto
谁能指出我哪里出错了?
非常感谢
【问题讨论】:
标签: javascript protocol-buffers