On Fri, Mar 12, 2010 at 10:20, mk <apollo...@gmail.com> wrote: > Thanks for reply !! > > Could you please give an example? I tried several ways from this > morning but as I am a new user of protbuf, I don't see what way to > follow ... Thanks!
Have a look at the documentation, it is full of examples how to serialize/deserialize. -h > > > On Mar 12, 6:38 pm, Kenton Varda <ken...@google.com> wrote: >> Wait. >> >> >> >> On Fri, Mar 12, 2010 at 9:29 AM, mk <apollo...@gmail.com> wrote: >> > Hi, >> >> > I am trying to send a proto over a socket, but i am getting >> > segmentation error. Could someone please help and tell me what is >> > wrong with this? >> >> > file.proto >> > message data{ >> > required string x1 = 1; >> > required uint32 x2 = 2; >> > required float x3 = 3; >> > } >> >> > client.cpp >> > ... >> > // class defined in proto >> > data data_snd; >> > data data_rec; >> >> > char *y1 = "operation1"; >> > uint32_t y2 = 123 ; >> > float y3 = 3.14; >> >> > // assigning data to send() >> > data_snd.set_x1(y1); >> > data_snd.set_x2(y2); >> > data_snd.set_x3(y3); >> >> > //sending data to the server >> > if (send(socket, &data_snd, sizeof(data_snd), 0) < 0) { >> >> You can't do that. >> >> You have to use one of the Serialize methods. >> >> > cerr << "send() failed" ; >> > exit(1); >> > } >> >> > //receiving data from the client >> > if (recv(socket, &data_rcv, sizeof(data_rcv), 0) < 0) { >> > cerr << "recv() failed"; >> > exit(1); >> > } >> >> > //printing received data >> > cout << data_rec.x1() << "\n"; >> > cout << data_rec.x2() << "\n"; >> > cout << data_rec.x3() << "\n"; >> > ... >> >> > server.cpp >> > ... >> >> > //receiving data from the client >> > if (recv(socket, &data_rcv, sizeof(data_rcv), 0) < 0) { >> > cerr << "recv() failed"; >> > exit(1); >> > } >> >> > //printing received data >> > cout << data_rec.x1() << "\n"; >> > cout << data_rec.x2() << "\n"; >> > cout << data_rec.x3() << "\n"; >> >> > // assigning data to send() >> > data_snd.set_x1(data_rec.x1()); >> > data_snd.set_x2(data_rec.x2()); >> > data_snd.set_x3(data_rec.x3()); >> >> > //sending data to the server >> > if (send(socket, &data_snd, sizeof(data_snd), 0) < 0) { >> > cerr << "send() failed" ; >> > exit(1); >> > } >> > ... >> >> > Thanks for help and replies- >> >> > -- >> > 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<protobuf%2bunsubscr...@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. > > -- 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.