C ++ protobuf无法反序列化消息

时间:2018-11-18 12:56:07

标签: c++ sockets protocol-buffers

我在protobuf中遇到了在C ++中反序列化消息的问题。 这是原始消息定义:

syntax="proto3";
message my_message{
int32 flag=1;
sign_detail sdetail=2;
}


message sign_detail{
string usr_id=1;
string usr_nickname=2;
int32 phone_num=3;
string usr_sex=4;
string email=5;
string password=6;
}

然后我收到一个插座并将其放在buf中:

   my_message recver;
   int n=recv(connfd, buf, MAXLINE, 0);
   printf("%s\n", buf);
   recver.ParseFromArray(buf, n);
   cout<<"recver:"<<recver.flag();

但是我明白了:

flag: 2
sdetail {
  phone_num: 123
  email: "123"
  password: "123"
 }

recver:0

接收器为空,为什么?

0 个答案:

没有答案