[pyar] Sockets, problemirijillo con recv

Sebastian Scheib stackpointerex en gmail.com
Mie Nov 9 15:20:08 ART 2011


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")
            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))
            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]
        return ingresof

if __name__== '__main__':
    s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(("localhost",9999))
    s.listen(100)
    print "Esperando conexiones..."
    while 1:
        cliente, datos = s.accept()
        print "Conectado: "+str(datos)
        hilo=Cliente(cliente,datos)
        hilo.start()
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20111109/f567d40f/attachment.html>


More information about the pyar mailing list