Hola integrantes de la Lista, bueno estoy trabajando en un Cliente Servidor TCP IP, la idea es levantar el servidor con una IP en mi caso es la 192.168.1.100 y puerto 9998 (Puede ser cualquier IP) y el Cliente debe encontrar la IP del servidor en un rango de IP y el puerto es predeterminado osea el 9998.
En Este caso el Cliente empieza con la IP 192.168.1.98 al no encontrar la IP sumaria 1 numero a la ultima tupla de la ip osea al 98 le suma 1 e intentaría conectarse a un servidor con una IP 192.168.1.99 y eso debería hacerlo hasta que llegue a la IP del Servidor que en este caso es 192.168.1.100. El problema es que se cae en el primer intento y no vuelve al ciclo para sumar e intentar con otra IP adjunto código del Cliente y Servidor. Servidor TCP IP: #+----------------------------------+ #| Server TCP/IP | #+----------------------------------+ import socket #Creo el objeto socket s = socket.socket() HOST = '192.168.1.100' PUERTO = 9998 #Invoco al metodo bind, pasando como parametro una tupla con IP y puerto #s.bind(("localhost", 9999)) s.bind((HOST, PUERTO)) #Invoco el metodo listen para escuchar conexiones con el numero maximo de conexiones como parametro s.listen(1) #El metodo accept bloquea la ejecucion a la espera de conexiones #accept devuelve un objeto socket y una tupla Ip y puerto sc, addr = s.accept() print "Recibo conexion de la IP: " + str(addr[0]) + " Puerto: " + str(addr[1]) while True: #invoco recv sobre el socket cliente, para recibir un maximo (segun parametro) de 1024 bytes recibido = sc.recv(1024) if recibido == "salir": break print "Recibido:", recibido #Envio la respuesta al socket cliente sc.send(recibido) print "Bye Bye..." #cierro sockets cliente y servidor sc.close() s.close() ================================================================== Cliente TCP IP: #!/usr/bin/env python # -*- coding: utf-8 -*- #+----------------------------------+ #| Client TCP/IP | #+----------------------------------+ import socket s = socket.socket() IP = '192.168.1.' IP2 = 98 HOST = IP + str(IP2) PUERTO = 9998 print "Conectando a: " + HOST salir = 1 while salir != 0: if (s.connect((HOST, PUERTO)) == False) and (int(IP2)<199): print "No se pudo conectar con el Servidor.. :(" print "Buscando Otra IP" IP2 = int(IP2) + 1 HOST = IP + str(IP2) print "Probando con la IP: " + HOST else: print "Estamos conectado con un servidor :P" print "La IP del Servidor es: " + HOST while True: s.connect((HOST, PUERTO)) mensaje = raw_input("Mensaje a enviar: ") s.send(mensaje) if mensaje == "salir": salir = 0; break print "Bye Bye... :)" s.close() ================================================================ Bueno espero puedan guiarme en el problema, Saludos :P _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/