[pyar] Sockets, problemirijillo con recv

Sebastian Scheib stackpointerex en gmail.com
Jue Nov 10 10:37:56 ART 2011


Justamente el problema era que recv iba tomando todo como chars, o sea, en
cada char que tiraba devolvía ese mismo. O quizá no entendí lo que querés
decir.

El 10 de noviembre de 2011 03:27, david weil <tenuki en gmail.com> escribió:

> Algunos detalles..
>
> On Wed, Nov 9, 2011 at 15:20, Sebastian Scheib <stackpointerex en gmail.com>
> wrote:
> > Bueno, la solución (esperemos temporal) . Básicamente concatené todo en
> un
> > string y devuelvo todo menos el último. Quise hacerlo con un while var !=
> > '\n' pero no me funcionó así que tuve que tocarlo un poco :S
> > import socket
> > from threading import Thread
> > class Cliente(Thread):
> >     def __init__(self,socket_cliente,datos_cliente):
> >         Thread.__init__(self)
> >         self.socket=socket_cliente
> >         self.datos=datos_cliente
> >
> >     def run(self):
> >         seguir = True
> >         peticion=""
> >         while seguir:
> >             peticion=self.ingresar_texto()
> >             self.socket.send("Esa: "+peticion+"\n")
>
> No estas verificando el valor que devuelve send. Asi que o lo
> verificas, o usas sendall() o me explicas porque se puede asumir que
> va a enviar todo el buffer que le pasas :-)
>
> >             if peticion=='quit':
> >                 seguir=False
> >                 self.socket.close()
> >
> >     def ingresar_texto(self):
> >         flag_intro=1
> >         ing=""
> >         ingreso=""
> >         ingresof=""
> >         while flag_intro==1:
> >             ing = str(self.socket.recv(1))
>
> recv() te deberia devolver un "string". no le veo el sentido a la
> llamada explicita a str().
>
> >             if ing!="\n":
> >                 ingreso=ingreso+ing
> >             else:
> >                 flag_intro=0
>
> >                 for i in range (0, len(ingreso)-1): #ARMO ingresof PARA
> > SACAR ESE ULTIMO CARACTER.
> >                     ingresof=ingresof+ingreso[i]
>
> el for ese quiere hacer esto me parece:
>                    ingresof += ingreso[0:-1]
>
> >         return ingresof
> >
>
> saluc!
>
> --
>  There is no dark side of the moon really. Matter of fact it's all dark.
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20111110/8186d48f/attachment.html>


More information about the pyar mailing list