protobuf.jsバージョンを解読することはできません:^ 6.2.1いるProtobufはバッファ
バッファ
083515604859581840220a0d6048595815bdf426422a0a0d7047595815bdf426
コード:
protobuf.load("PulseFlagData.proto", function(err, root) {
if (err) {
callback(err);
}
var pulse = root.lookup("PulseFlagData");
callback(null, pulse.decode(parsed_data.payload));
});
.protoファイル:
syntax = "proto3";
message PulseFlagSample {
required fixed32 timestamp = 1;
required uint32 input = 2;
required bool flag = 3;
}
message PulseFlagData {
required uint32 config_version = 1;
required fixed32 device_time = 2;
required PulseFlagSample current = 3;
optional PulseFlagSample last_hour = 4;
}
エラー:
/home/deck/NetBeansProjects/lora/node_modules/protobufjs/src/reader.js:390投indexOutOfRange(この長さ)。 ^
例外RangeError:範囲外のインデックス:23 + 10> 32 indexOutOfRangeで (ネイティブ)例外RangeErrorで (/home/deck/NetBeansProjects/lora/node_modules/protobufjs/src/reader.js:13:12 ) at BufferReader.skip(/ホーム/デッキ/ NetBeansProjects/lora/node_modules/protobufjs) /src/reader.js:410:18) at Type._PulseFlagSample $ decode [as decode](evalでのeof(/home/deck/NetBeansProjects/lora/node_modules/protobufjs/node_modules/@protobufjs/codegen/index.js) :102:25)、:19:7) at Type.decode_setup [デコードとして](/ home/deck/NetBeansProjects/lora/node_modules/pr (/ home/deck/NetBeansProjects/lora/node_modules/protobufjs/node_modules/@ protobufjs/codegen/index)を指定してください。 (/home/deck/NetBeansProjects/lora/node_modules/protobufjs/src/type.js:370:7) の/ home/dsode_setupに[デッキ/ NetBeansProjects/LORA/server.js:42:50 仕上げで(/home/deck/NetBeansProjects/lora/node_modules/protobufjs/src/root.js:84:9)
あなたが正しいです!私は最後のバイトを失った。ベンダーからのデータの誤った記述を受け取りました。ありがとうございました! – levide