簡體   English   中英

協議緩沖區Java解析問題

[英]Protocol buffer Java parsing issue

我有.Proto文件,如下所示

message Port {
    repeated Info info = 1;
}

message Info {
    required string if_name = 1 ;
    optional Stats in_stats = 2;

}

message Stats {

    required uint64 pkts = 1 ;
    repeated Accounting fc_stats = 2;
}

message Accounting {
     optional string family = 1 ;
}

extend Sensors {
    optional Port InterfaceExt = 7;
}

我正在解析它,並且除統計數據中的“重復”記帳元素未解析正確的數據外,其他所有功能都正常運行。

另外,記帳元素的數組列表大小為零,這意味着它沒有正確填充,但是,如果我打印傳感器對象,它將以原始格式帶來數據,如下所示,

info {
        if_name: "xe"
        in_stats {
          pkts: 27
          2: "\n\004IPv4\020\003\030\343\355\277\240e \200\343\355\277\240e"
        }
    }

知道有什么問題嗎?

每個字段都需要有一個唯一的ID來區分它。

您的pktsfc_stats的ID均為1

我建議做其中之一2。

注意:它可以將1解碼為pkts但是不知道將2解碼為pkts

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM