client side: address_book.SerializeToString(&mystr) strncpy(buf, mystr.c_str(), strlen(mystr.c_str())); sendto(socket, buf, ....)
server side: recvfrom(socket, buf, ....) mystr.assign(buf, strlen(buf)); if (address_book.ParseFromString(mystr) == false) { print "deserialization failed" } I get deserialization failed all the time, but get the message correctly though. Maybe this method is not the right way to send string across socket. I tried using SerializeToFileDescriptor(socket), that worked on the client side, but on the server side, i never get the message with UDP sockets. is there a better way of sending data across network? thanks, On Tue, Nov 9, 2010 at 5:43 PM, Kenton Varda <ken...@google.com> wrote: > It sounds like you probably have extra bytes at the end of mystr which are > not part of the protobuf. The parser parses everything before those bytes > just fine, but then chokes when it gets to the bytes it doesn't recognize. > Please make sure you only pass in the exact bytes which came out of the > serializer at the other end, no more, no less. > > On Tue, Nov 9, 2010 at 1:11 PM, Brad Lira <snmp.apa...@gmail.com> wrote: >> >> I have a c++ client/server application that sends messages using >> protocol buffers, however, at the server side, when i call >> >> address_book.ParseFromString(mystr) >> >> it returns false, but it actually gets the message correctly from >> client side, so i am not sure why it thinks that parsing has failed. >> any ideas? >> >> thanks, >> brad >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Protocol Buffers" group. >> To post to this group, send email to proto...@googlegroups.com. >> To unsubscribe from this group, send email to >> protobuf+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/protobuf?hl=en. >> > > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to proto...@googlegroups.com. To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.