Doesn't the UDP packet header effectively provide that length prefix for
you?
--Chris

On Fri, Sep 18, 2009 at 12:26 PM, jayt0...@gmail.com <jayt0...@gmail.com>wrote:

>
> One other thing I wanted to say was that I chose to use
> CodedOutputStream to send
> data because ultimately I have to manually encode a length prefix in
> front of my PB message.
> With the C++ environment, I understand that this is the only way to do
> this (ugh is right; I am sure this is a common problem with using PB
> over sockets that remain in use).
> I am fully aware that there are methods to serialize directly from the
> object but those will not serve my ultimate aim of getting a length
> prefix ahead of the data bytes.
>
> Thanks
>
> Jay
>
> On Sep 18, 12:19 pm, "jayt0...@gmail.com" <jayt0...@gmail.com> wrote:
> > Hello all,
> >
> > I am having trouble figuring out how to serialize data over a socket
> > utilizing UDP protocol.  I am in C++ environment.  When writing to the
> > socket without protocol buffers, I use the standard sendto() socket
> > call which allows me to specify the port and IP address of the
> > intended receiver of my UDP message.  When trying to send a protocol
> > buffers message, this seems to be the recommended strategy on the
> > google docs:
> >
> >         ZeroCopyOutputStream* raw_output   = new FileOutputStream
> > (sock);
> >         CodedOutputStream*    coded_output = new CodedOutputStream
> > (raw_output);
> >         coded_output->WriteRaw(send_data,strlen(send_data));
> >
> > There is no way to specify what the port and IP address is here,
> > analogous to when using the standard sendto() socket writing call.  So
> > my message never gets received by the intended recipient on the
> > network.  I am aware that this is a raw message, not a PB message.
> > Getting this raw message over the network is a first step in
> > accomplishing the ultimate goal of getting the PB message over the
> > network.
> >
> > Is there a way to get all of the bytes of a serialized PB message into
> > raw form and then send them with sendto()?
> >
> > Any ideas? Thanks for any help.
> >
> > Jay
> >
>


-- 
Chris

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to protobuf@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
-~----------~----~----~----~------~----~------~--~---

Reply via email to