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/

Responder a