[Python-es] TCP IP Cliente Servidor

Juan Marcelo Leiva Sandoval chelitoleiva en gmail.com
Mie Abr 6 17:35:13 CEST 2011


Hola Jordi, el problema esta de lado del cliente, si ese código lo
simplifico para que se conecte directamente a la IP del servidor sin
tener que buscarla, se conecta sin problema, el problema surge al
intentar buscar la IP del servidor, adjunto un codigo de cliente que
se conecta muy bien al servidor que se adjunto anteriormente.

=========================================================================

#+----------------------------------+

#| Client TCP/IP                    |

#+----------------------------------+

import socket



s = socket.socket()



#invoco el metodo connect del socket pasando como parametro la tupla IP , puerto

#s.connect(("localhost", 9999))



IP  = '192.168.1.'

IP2 = 100



HOST = IP + str(IP2)

PUERTO = 9998



s.connect((HOST, PUERTO))



while True:

  mensaje = raw_input("Mensaje a enviar: ")



  #invoco el metodo send pasando como parametro el string ingresado
por el usuario

  s.send(mensaje)

  if mensaje == "salir":

    break





print "adios"



#cierro socket

s.close()

======================================================================

Ese código se conecta sin problemas y hace su trabajo muy bien, pero
que que yo modifique para que busque la IP del servidor se cae en el
primer intento.

El código tendría que seguir en un ciclo hasta encontrar la IP del
servidor y cuando la encuentra entrar en otro ciclo enviando mensajes
hasta que se escriba el mensaje "salir".

Le doy vueltas y vueltas al código y no encuentro el error, espero
explicarme mejor, saludos.

El 06/04/11, Jordi Funollet <jordi.f en ati.es> escribió:
> La pregunta es muy genérica, deberias intentar acotarla más; tal como
> está planteanda prácticamente pides que te resuelvan el problema desde
> cero. :-)
>
> Como primera aproximación: en Unix/Linux tienes una herramienta de línea
> de comandos llamada 'nc', que puedes poner a escuchar (o escribir) en
> cualquier puerto. Ponlo a escuchar en el puerto 9998 y comprueba si tu
> problema esta en el lado del cliente. Y invierte el funcionamiento para
> probar tu código servidor.
>
> Después nos cuentas lo que descubras, y seguimos acotando.
>
> --
> ##############################
> ### Jordi Funollet
> ### http://www.terraquis.net
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>


-- 
El buen Informático es como un Bibliotecario, no lo sabe todo pero
sabe donde buscarlo...


Más información sobre la lista de distribución Python-es