En Thu, 08 Feb 2007 00:14:13 -0300, <[EMAIL PROTECTED]> escribió:

> On Feb 8, 1:43 am, Bjoern Schliessmann <usenet-
> [EMAIL PROTECTED]> wrote:
>> [EMAIL PROTECTED] wrote:
>> > I want a specific packet format for packet exchange between a
>> > client server across the network. For example frame format
>> > as a python class could be:
>> > class Frame:
>> >         def __init__(self, buffer=None, count=0, offset=0):
>> >                 self.buffer = buffer
>> >                 self.count = count
>> >                 self.offset = offset
>> > the question is how to convert it to a byte stream so that format
>> > of count and offset also becomes a sequence of bytes.
>>
>> Try struct.
>>
>
> struct module pack and unpack will only work for fixed size buffer :
> pack('>1024sIL', buffer, count. offset) but the buffer size can vary
> from one packet to the next  :-(

Use struct to pack count and offset into a fixed size field (2 or 4 bytes  
depending on range); send buffer after that.
buffer must come *after* you send its size, else it's a lot harder to  
retrieve at the other end.

-- 
Gabriel Genellina

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to