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!
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.