enum MsgType {
MT_INVALID = 0;
MT_HEADER = 1;
}
message BaseMsg {
MsgType type = 1;
uint32 len = 2;
string data = 3;
uint32 crc32 = 4;
uint32 coin_type = 5;
}
sharebase::BaseMsg msg;
if (!msg.ParseFromArray(buf, len)) {
LOG(ERROR) << "parse BaseMsg from base message failed! ";
return;
}
the client send the BaseMsg using proto3. If the server uses proto2, I invoke ParseFromArray and get the right result. But if the server uses proto3, the return value is false when invoking ParseFromArray.
I do not know why and anyone can help me?
By the way, the client is implemented by go. And the server is c++.
question from:
https://stackoverflow.com/questions/65560296/the-return-value-is-false-invoking-parsefromarray-when-using-proto3-but-true-wh 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…