Are you sending binary data if so you can use the  struct module to pack, unpack and interpret binary data <a href="http://docs.python.org/library/struct.html">http://docs.python.org/library/struct.html</a>, <div><br></div>

<div>You will have to design the header scheme yourself you can either embed length in the packets or try to use a carefully selected delimiter character .</div><div><br></div><div>Thanks</div><div>Aman</div><div><br></div>

<div><br><div class="gmail_quote">On Sun, Jul 10, 2011 at 5:31 PM,  <span dir="ltr"><<a href="mailto:python-list-request@python.org">python-list-request@python.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Send Python-list mailing list submissions to<br>
        <a href="mailto:python-list@python.org">python-list@python.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank">http://mail.python.org/mailman/listinfo/python-list</a><br>
or, via email, send a message with subject or body 'help' to<br>
        <a href="mailto:python-list-request@python.org">python-list-request@python.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:python-list-owner@python.org">python-list-owner@python.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of Python-list digest..."<br>
<br>Today's Topics:<br>
<br>
   1. Re: parsing packets (Michael Hrivnak)<br>
   2. Re: Wgy isn't there a good RAD Gui tool fo python (CM)<br>
   3. Re: Function docstring as a local variable (Ben Finney)<br>
   4. Re: Function docstring as a local variable (Tim Johnson)<br>
   5. Re: Function docstring as a local variable (Chris Rebert)<br>
   6. Re: Function docstring as a local variable (Chris Rebert)<br>
   7. Re: Function docstring as a local variable (Tim Johnson)<br>
   8. Re: Function docstring as a local variable (Corey Richardson)<br>
   9. Re: Virtual functions are virtually invisible! (Michael Hrivnak)<br>
<br><br>---------- Forwarded message ----------<br>From: Michael Hrivnak <<a href="mailto:mhrivnak@hrivnak.org">mhrivnak@hrivnak.org</a>><br>To: <a href="mailto:tyler@tysdomain.com">tyler@tysdomain.com</a><br>Date: Sun, 10 Jul 2011 19:33:38 -0400<br>

Subject: Re: parsing packets<br>In order to find the end of the packet, include a field that is the<br>
packet length.  This is what IP packets do to find the end of their<br>
header.<br>
<br>
<a href="http://en.wikipedia.org/wiki/IPv4#Header" target="_blank">http://en.wikipedia.org/wiki/IPv4#Header</a><br>
<br>
And the TCP header (see "data offset") does the same:<br>
<br>
<a href="http://en.wikipedia.org/wiki/Transmission_Control_Protocol#TCP_segment_structure" target="_blank">http://en.wikipedia.org/wiki/Transmission_Control_Protocol#TCP_segment_structure</a><br>
<br>
Of course in both cases they are specifying the header length, not<br>
including a data payload.  However, it sounds like you might not have<br>
a payload, so your entire packet might consist of header-like data.<br>
<br>
Michael<br>
<br>
<br>
On Sun, Jul 10, 2011 at 4:59 PM, Littlefield, Tyler <<a href="mailto:tyler@tysdomain.com">tyler@tysdomain.com</a>> wrote:<br>
> Hello all:<br>
> I'm working on a server that will need to parse packets sent from a client,<br>
> and construct it's own packets.<br>
> The setup is something like this: the first two bytes is the type of the<br>
> packet.<br>
> So, lets say we have a packet set to connect. There are two types of connect<br>
> packet: a auth packet and a connect packet.<br>
> The connect packet then has two bytes with the type, another byte that notes<br>
> that it is a connect packet, and 4 bytes that contains the version of the<br>
> client.<br>
> The auth packet has the two bytes that tells what packet it is, one byte<br>
> denoting that it is an auth packet, then the username, a NULL character, and<br>
> a password and a NULL character.<br>
><br>
> With all of this said, I'm kind of curious how I would 1) parse out<br>
> something like this (I am using twisted, so it'll just be passed to my<br>
> Receive function), and how I get the length of the packet with multiple NULL<br>
> values. I'm also looking to build a packet and send it back out, is there<br>
> something that will allow me to designate two bytes, set individual bits,<br>
> then put it altogether in a packet to be sent out?<br>
><br>
> --<br>
><br>
> Take care,<br>
> Ty<br>
> my website:<br>
> <a href="http://tds-solutions.net" target="_blank">http://tds-solutions.net</a><br>
> my blog:<br>
> <a href="http://tds-solutions.net/blog" target="_blank">http://tds-solutions.net/blog</a><br>
> skype: st8amnd127<br>
> My programs don't have bugs; they're randomly added features!<br>
><br>
> --<br>
> <a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank">http://mail.python.org/mailman/listinfo/python-list</a><br>
><br>
<br>
<br><br>---------- Forwarded message ----------<br>From: CM <<a href="mailto:cmpython@gmail.com">cmpython@gmail.com</a>><br>To: <a href="mailto:python-list@python.org">python-list@python.org</a><br>Date: Sun, 10 Jul 2011 16:49:51 -0700 (PDT)<br>

Subject: Re: Wgy isn't there a good RAD Gui tool fo python<br>On Jul 10, 6:50 pm, Ivan Kljaic <<a href="mailto:iklj...@gmail.com">iklj...@gmail.com</a>> wrote:<br>
> Ok Guys. I know that most of us have been expiriencing the need for a<br>
> nice Gui builder tool for RAD and most of us have been googling for it<br>
> a lot of times. But seriously. Why is the not even one single RAD tool<br>
> for Python. I mean what happened to boa constructor that it stopped<br>
> developing. I simply do not see any reasons why there isn't anything.<br>
> Please help me understand it. Any insights?<br>
<br>
Just because Boa Constructor stopped (or lengthily paused?)<br>
development<br>
doesn't mean it doesn't exist.  It does, and (at least on Windows), it<br>
is, IMO, really good.  So why don't you use it?<br>
<br>
Che<br>
<br>
<br>
<br><br>---------- Forwarded message ----------<br>From: Ben Finney <<a href="mailto:ben%2Bpython@benfinney.id.au">ben+python@benfinney.id.au</a>><br>To: <a href="mailto:python-list@python.org">python-list@python.org</a><br>

Date: Mon, 11 Jul 2011 09:48:46 +1000<br>Subject: Re: Function docstring as a local variable<br>"Colin J. Williams" <<a href="mailto:cjw@ncf.ca">cjw@ncf.ca</a>> writes:<br>
<br>
> On 10-Jul-11 13:44 PM, rantingrick wrote:<br>
> > On Jul 10, 12:41 pm, Tim Johnson<<a href="mailto:t...@johnsons-web.com">t...@johnsons-web.com</a>>  wrote:<br>
> >> It possible for a function to print it's own docstring?<br>
> ><br>
> > def f():<br>
> >     """docstring"""<br>
> >     print "docstring"<br>
><br>
> Try:<br>
><br>
> def f():<br>
>      ds= """docstring"""<br>
>      print ds<br>
<br>
The OP wants the function to print its own docstring, which your example<br>
does not do. You've defined a function with an empty docstring.<br>
<br>
    >>> def foo():<br>
    ...     ds = "The Larch"<br>
    ...     print ds<br>
    ...<br>
    >>> foo.__doc__<br>
    >>><br>
<br>
--<br>
 \       “Firmness in decision is often merely a form of stupidity. It |<br>
  `\        indicates an inability to think the same thing out twice.” |<br>
_o__)                                                —Henry L. Mencken |<br>
Ben Finney<br>
<br>
<br><br>---------- Forwarded message ----------<br>From: Tim Johnson <<a href="mailto:tim@johnsons-web.com">tim@johnsons-web.com</a>><br>To: <a href="mailto:python-list@python.org">python-list@python.org</a><br>Date: Sun, 10 Jul 2011 16:00:54 -0800<br>

Subject: Re: Function docstring as a local variable<br>* Carl Banks <<a href="mailto:pavlovevidence@gmail.com">pavlovevidence@gmail.com</a>> [110710 15:18]:<br>
> On Sunday, July 10, 2011 3:50:18 PM UTC-7, Tim Johnson wrote:<br>
> >   Here's a related question:<br>
> >   I can get the docstring for an imported module:<br>
> >   >>> import tmpl as foo<br>
> >   >>> print(foo.__doc__)<br>
> >   Python templating features<br>
> ><br>
> >    Author - tim at akwebsoft dot com<br>
> ><br>
> >  ## Is it possible to get the module docstring<br>
> >  ## from the module itself?<br>
><br>
><br>
> print __doc__<br>
  Thanks Carl.<br>
<br>
  Where is general documentation on the subject of variables<br>
  beginning with 2 underscores?<br>
<br>
  I'm presuming the key phrase is 'builtin variables'. I'm searching<br>
  too ...<br>
<br>
--<br>
Tim<br>
tim at johnsons-web dot com or akwebsoft dot com<br>
<a href="http://www.akwebsoft.com" target="_blank">http://www.akwebsoft.com</a><br>
<br>
<br><br>---------- Forwarded message ----------<br>From: Chris Rebert <<a href="mailto:clp2@rebertia.com">clp2@rebertia.com</a>><br>To: Tim Johnson <<a href="mailto:tim@johnsons-web.com">tim@johnsons-web.com</a>><br>

Date: Sun, 10 Jul 2011 17:09:27 -0700<br>Subject: Re: Function docstring as a local variable<br>On Sun, Jul 10, 2011 at 5:00 PM, Tim Johnson <<a href="mailto:tim@johnsons-web.com">tim@johnsons-web.com</a>> wrote:<br>


> * Carl Banks <<a href="mailto:pavlovevidence@gmail.com">pavlovevidence@gmail.com</a>> [110710 15:18]:<br>
>> On Sunday, July 10, 2011 3:50:18 PM UTC-7, Tim Johnson wrote:<br>
<snip><br>
>> >  ## Is it possible to get the module docstring<br>
>> >  ## from the module itself?<br>
>><br>
>> print __doc__<br>
>  Thanks Carl.<br>
><br>
>  Where is general documentation on the subject of variables<br>
>  beginning with 2 underscores?<br>
><br>
>  I'm presuming the key phrase is 'builtin variables'. I'm searching<br>
>  too ...<br>
<br>
I've never heard that phrase used to describe __doc__ or its friends.<br>
<br>
Look in the "underscore" section of the documentation index:<br>
<a href="http://docs.python.org/genindex-_.html" target="_blank">http://docs.python.org/genindex-_.html</a><br>
<br>
Cheers,<br>
Chris<br>
<br>
<br><br>---------- Forwarded message ----------<br>From: Chris Rebert <<a href="mailto:clp2@rebertia.com">clp2@rebertia.com</a>><br>To: Corey Richardson <<a href="mailto:kb1pkl@aim.com">kb1pkl@aim.com</a>><br>

Date: Sun, 10 Jul 2011 17:16:23 -0700<br>Subject: Re: Function docstring as a local variable<br>On Sun, Jul 10, 2011 at 4:06 PM, Corey Richardson <<a href="mailto:kb1pkl@aim.com">kb1pkl@aim.com</a>> wrote:<br>
> Excerpts from Carl Banks's message of Sun Jul 10 18:59:02 -0400 2011:<br>
>> print __doc__<br>
>><br>
><br>
> Python 2.7.1 (r271:86832, Jul  8 2011, 22:48:46)<br>
> [GCC 4.4.5] on linux2<br>
> Type "help", "copyright", "credits" or "license" for more information.<br>
>>>> def foo():<br>
> ...     "Docstring"<br>
> ...     print __doc__<br>
> ...<br>
>>>> foo()<br>
> None<br>
>>>><br>
><br>
><br>
> What does yours do?<br>
<br>
The question Carl's code was in answer to was, slightly paraphrased:<br>
"Is it possible to get a *module*'s docstring from within the module<br>
itself?"<br>
The question had nothing to do with *function* docstrings.<br>
<br>
The interactive interpreter environment also isn't quite a true<br>
module, so you can't give it a docstring or really test the relevant<br>
feature there. Try this instead:<br>
$ cat test.py<br>
"""I am the docstring of the `test` module!"""<br>
<br>
print("This module's docstring is:", __doc__)<br>
$ python test.py<br>
This module's docstring is: I am the docstring of the `test` module!<br>
$<br>
<br>
Cheers,<br>
Chris<br>
--<br>
<a href="http://rebertia.com" target="_blank">http://rebertia.com</a><br>
<br>
<br><br>---------- Forwarded message ----------<br>From: Tim Johnson <<a href="mailto:tim@johnsons-web.com">tim@johnsons-web.com</a>><br>To: Python ML <<a href="mailto:python-list@python.org">python-list@python.org</a>><br>

Date: Sun, 10 Jul 2011 16:21:59 -0800<br>Subject: Re: Function docstring as a local variable<br>* Chris Rebert <<a href="mailto:clp2@rebertia.com">clp2@rebertia.com</a>> [110710 16:14]:<br>
> ><br>
> >  Where is general documentation on the subject of variables<br>
> >  beginning with 2 underscores?<br>
><br>
> I've never heard that phrase used to describe __doc__ or its friends.<br>
 :) That why I wasn't satified with my search results.<br>
> Look in the "underscore" section of the documentation index:<br>
> <a href="http://docs.python.org/genindex-_.html" target="_blank">http://docs.python.org/genindex-_.html</a><br>
  And that is what I was looking for.<br>
  thanks<br>
--<br>
Tim<br>
tim at johnsons-web dot com or akwebsoft dot com<br>
<a href="http://www.akwebsoft.com" target="_blank">http://www.akwebsoft.com</a><br>
<br>
<br><br>---------- Forwarded message ----------<br>From: Corey Richardson <<a href="mailto:kb1pkl@aim.com">kb1pkl@aim.com</a>><br>To: python-list <<a href="mailto:python-list@python.org">python-list@python.org</a>><br>

Date: Sun, 10 Jul 2011 20:26:02 -0400<br>Subject: Re: Function docstring as a local variable<br>Excerpts from Chris Rebert's message of Sun Jul 10 20:16:23 -0400 2011:<br>
> The question Carl's code was in answer to was, slightly paraphrased:<br>
> "Is it possible to get a *module*'s docstring from within the module<br>
> itself?"<br>
> The question had nothing to do with *function* docstrings.<br>
><br>
<br>
Ah. My bad, thank you for clarifying.<br>
--<br>
Corey Richardson<br>
  "Those who deny freedom to others, deserve it not for themselves"<br>
     -- Abraham Lincoln<br>
<br><br>---------- Forwarded message ----------<br>From: Michael Hrivnak <<a href="mailto:mhrivnak@hrivnak.org">mhrivnak@hrivnak.org</a>><br>To: rantingrick <<a href="mailto:rantingrick@gmail.com">rantingrick@gmail.com</a>><br>

Date: Sun, 10 Jul 2011 20:31:49 -0400<br>Subject: Re: Virtual functions are virtually invisible!<br>It sounds to me like you need a better IDE, better documentation,<br>
and/or better code to work on and use.  I don't understand why it's<br>
difficult to look at a derived class as see what methods are<br>
overridden.  If you are working on the code, it is quite obvious what<br>
methods exist in the base class.  If you're not willing to get an<br>
intimate understanding of how the base class works, you probably<br>
shouldn't be working on the subclass.  If the base class is difficult<br>
to understand, it's probably poorly written and/or poorly documented.<br>
Neither of these problems should be solved by adding complexity to the<br>
language.  Referencing the Zen of Python: "If the implementation is<br>
hard to explain, it's a bad idea."<br>
<br>
If you are just using a library but not developing it, why does it<br>
matter what methods are overridden?  As long as class "Derived"<br>
behaves the way it is documented, who cares how it got that way or<br>
what is going on behind the scenes?  If you need to read the code to<br>
figure out how it works, then it's just poorly documented.<br>
<br>
Django is a great example, because it is very well documented.  Most<br>
users have little idea of what base classes are involved and what<br>
features are overridden, because it doesn't matter when you are just<br>
using the library.  When you need to write your own subclass of a<br>
django class, then it might matter, and you should see my first<br>
paragraph.<br>
<br>
And in terms of "non-starters", any "Pythonista" who isn't willing to<br>
adhere to the style guide and document their code wouldn't work on my<br>
team for very long, if at all.  There is just no excuse for that.<br>
<br>
Michael<br>
<br>
On Sun, Jul 10, 2011 at 1:15 PM, rantingrick <<a href="mailto:rantingrick@gmail.com">rantingrick@gmail.com</a>> wrote:<br>
> On Jul 4, 3:43 am, Gregory Ewing <<a href="mailto:greg.ew...@canterbury.ac.nz">greg.ew...@canterbury.ac.nz</a>> wrote:<br>
>> rantingrick wrote:<br>
>> > what concerns me is the fact that virtual methods in derived<br>
>> > classes just blend in to the crowd.<br>
>> > I think we really need some<br>
>> > sort of visual cue in the form of forced syntactical notation (just<br>
>> > like the special method underscores).<br>
>><br>
>> If you're suggesting that it should be impossible to override<br>
>> a method unless it is specially marked somehow in the base<br>
>> class, I think that would be a bad idea.<br>
><br>
> Sorry i did explain properly... No NOT marked in the BASE class but<br>
> marked in the DERIVED class! My concerns are from a readability<br>
> standpoint. Here's a naive example...<br>
><br>
> class Top(object):<br>
>    def __init__(self):<br>
>        pass<br>
>    def m1(self):<br>
>        """overide"""<br>
>        return True<br>
>    def m2(self):<br>
>        print 'm2'<br>
><br>
><br>
> def Derived(Top):<br>
>    def __init__(self):<br>
>        Top.__init__(self)<br>
>    def <overide>m1(self):<br>
>        return False<br>
><br>
> My argument is this...<br>
><br>
>   """If class "Derived" exists in another module the reader has no<br>
> idea which methods where clobbered and which were not WITHOUT being<br>
> intimate with the entire code base."""<br>
><br>
>  I suggest we solve this dilemma by forcing a syntax "tag" when<br>
> declaring clobbering virtual functions. And if someone forgets to<br>
> include the tag python would throw an exception. This has the effect<br>
> of making the code MUCH easier to follow by the human readers. And it<br>
> put NO constraints on the API. Also it has the added effect of warning<br>
> unsuspecting programmers of name clashes that would otherwise not<br>
> produce an error.<br>
><br>
>> One of the principles behind the design of Eiffel is that<br>
>> classes should *always* be open to modification in any way<br>
>> by a subclass. The reason is that the author of a class<br>
>> library can't anticipate all the ways people might want to<br>
>> use it. Consequently Eiffel has no equivalent of C++'s<br>
>> "private" declaration -- everything is at most "protected".<br>
>> It also has no equivalent of Java's "final".<br>
><br>
> Exactly! We should never put limits on what methods CAN be virtual.<br>
> However, we CAN enforce a syntax that removes ambiguity from the<br>
> equation.<br>
> --<br>
> <a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank">http://mail.python.org/mailman/listinfo/python-list</a><br>
><br>
<br>
<br>--<br>
<a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank">http://mail.python.org/mailman/listinfo/python-list</a><br></blockquote></div><br><br clear="all"><br>-- <br>Aman Nijhawan<br><br><br>
</div>