PB協議報錯 it is missing required fields: (cannot determine missing fields for lite message)

軍說網事發表於2016-01-27

在測試PB協議的過程中出現,it is missing required fields: (cannot determine missing fields for lite message)。

查詢資料說:required 型別的欄位,必須設定值,否則,在解析的時候,會有這個提示。

pb協議在傳送的時候,會根據結構中定義的欄位,把設定值的欄位打包到資料包中,然後傳送出去。在接收方,接收到資料,然後去解析,這樣對於required型別的欄位,如果沒有設定值,那資料包裡肯定是沒有的,那麼,就會報錯。

為了驗證,覺得還是抓包一下比較靠譜。

抓包資料顯示,如果沒有設定值的required型別,確實沒有,但是在解析的時候就報此錯誤。

然後,在傳送的時候,加上值,再測試,就不報錯了。


在開始的時候,給出的資料也是有問題,是一串超過正常包長度的資料,這個可能是接收資料快取沒有清空,或者收到了別的資料,這是另外一個問題了,同樣需要解決的。






相關文章