asyncore.poll() question
Felipe Bastos Nunes
felipe.bastosn at gmail.com
Sat Oct 16 09:57:56 EDT 2010
Or download the old source files, and use the asyncore.py that's there.
2010/10/16, Lucasm <lordlucraft at gmail.com>:
> On 16 Okt, 15:31, chad <cdal... at gmail.com> wrote:
>> At the following url..
>>
>> http://www.nightmare.com/medusa/programming.html
>>
>> The author has the following code for a simple HTTP client
>>
>> #!/usr/bin/python
>>
>> import asyncore
>> import socket
>> import string
>>
>> class http_client (asyncore.dispatcher):
>>
>> def __init__ (self, host, path):
>> asyncore.dispatcher.__init__ (self)
>> self.path = path
>> self.create_socket (socket.AF_INET, socket.SOCK_STREAM)
>> self.connect ((host, 80))
>>
>> def handle_connect (self):
>> self.send ('GET %s HTTP/1.0\r\n\r\n' % self.path)
>>
>> def handle_read (self):
>> data = self.recv (8192)
>> print data
>>
>> def handle_write (self):
>> pass
>>
>> if __name__ == '__main__':
>> import sys
>> import urlparse
>> for url in sys.argv[1:]:
>> parts = urlparse.urlparse (url)
>> if parts[0] != 'http':
>> raise ValueError, "HTTP URL's only, please"
>> else:
>> host = parts[1]
>> path = parts[2]
>> http_client (host, path)
>> asyncore.loop()
>>
>> Right after that, the author states the following...
>>
>> " A really good way to understand select() is to put a print statement
>> into the asyncore.poll() function:
>>
>> [...]
>> (r,w,e) = select.select (r,w,e, timeout)
>> print '---'
>> print 'read', r
>> print 'write', w
>> [...]
>>
>> Each time through the loop you will see which channels have fired
>> which events.
>> "
>>
>> How the heck do I modify the code put the print statement into the
>> asyncore.poll() function?
>>
>> Chad
>
> Hi,
>
> You can find the file in your Python directory, in my case /usr/lib/
> Python2.6/asyncore.py. You should delete the .pyc file to make sure it
> is recompiled. And you will need root access :).
>
> Lucas
> --
> http://mail.python.org/mailman/listinfo/python-list
>
--
Felipe Bastos Nunes
More information about the Python-list
mailing list