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
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/