[pyar] Sockets, problemirijillo con recv
david weil
tenuki en gmail.com
Jue Nov 10 03:27:35 ART 2011
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.
More information about the pyar
mailing list