[Python-es] TCP IP Cliente Servidor
#Mike -
michael.ibarra en gmail.com
Mie Abr 6 17:19:54 CEST 2011
El día 6 de abril de 2011 09:55, Juan Marcelo Leiva Sandoval
<chelitoleiva en gmail.com> escribió:
> 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.
> ==================================================================
>
> 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()
El socket se queda abierto en el while, cierralo antes de abrir otra conexion.
--
Michael Ibarra
Más información sobre la lista de distribución Python-es