基於 protobuf 的 websockets 接收伺服器返回資料後,解碼問題請教

陳隨想發表於2020-12-26

寫了個websockets連線伺服器,用的是protobuf協議,序列化成功後傳送伺服器,成功收到返回(這裡以登入協議來說明),並且確認了日誌和遊戲另一個客戶端成功踢下線。然後收到伺服器返回之後用ParseFromString去反序列化,也是成功拿到了返回的資料。但是返回資料中的data欄位其實是一個巢狀的protobuf,這裡嘗試多次實在不知如何解碼,請論壇各位大佬指點迷津。
部分程式碼如下:

客戶端傳送大概是這樣的:第一層message資料序列化,作為客戶端message的data資料,再整個message序列化傳送。所以我以為伺服器也是這樣,登入返回相關的message序列化後作為message ServerCmdData的data(byes型別)主資料,再整個message ServerCmdData序列化後傳送給客戶端。但是我不知道怎麼解碼接收到的data。

相關文章