Problemas con sockets
Marcos Sánchez Provencio
rapto en arrakis.es
Mar Feb 25 20:32:01 CET 2003
Sacado de
http://squirl.nightmare.com/medusa/async_sockets.html
(en inglipitinglis)
Hay que abrir el zócalo (socket) en asíncrono y atender eventos. Por lo
visto también vale para ficheros. Lo que no me queda claro es cuándo
para el invento.
import socket
import asyncore
import string
class finger_client (asyncore.dispatcher):
def __init__ (self, account, done_fun, long=1):
self.name, self.host = tuple(string.split (account, '@'))
self.done_fun = done_fun
self.data = ''
self.long = long
#####################
self.create_socket (socket.AF_INET, socket.SOCK_STREAM)
asyncore.dispatcher.__init__ (self)
self.connect ((host, 79))
#####################
# once connected, send the account name
def handle_connect (self):
self.log ('connected')
if self.long:
# this requests 'long' output.
self.send ('/w %s\r\n' % self.name)
else:
self.send ('%s\r\n' % self.name)
# collect some more finger server output.
#####################
def handle_read (self):
#####################
more = self.recv(512)
if not more:
self.handle_close()
self.data = self.data + more
# the other side closed, we're done.
def handle_close (self):
print ''
self.done_fun (self.data)
self.close()
f = finger_client (who, demo_done_fun, long=0)
#####################
asyncore.loop()
#####################
El mar, 25-02-2003 a las 22:33, Fernando Rubio Dealbert escribió:
> Hola, es la primera vez que escribo en la lista y seguramente para
> algunos sea algo elemtal:
>
> Tengo un problema con los sockets, mas de los propios sockets que de
> python, me gustaria sabes como puedo leer de un socket hasta que este se
> vacie, he probado con un while pero en cuanto se vacia este el script se
> queda parado en la orden de leer del socket, supongo q esperando a leer
> algo.
>
> Ojala me podais ayudar, ale un saludo
> ----
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Esta parte del mensaje esta firmada digitalmente
URL: <http://mail.python.org/pipermail/python-es/attachments/20030225/5f8c2e07/attachment.pgp>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es