Sockets: usar ip para salida del servidor

Pepe Aracil pepe en diselpro.com
Mie Jun 18 09:57:25 CEST 2008


Hola

Esto es un problema de enrutado y no de sockets.

Para que salgan los paquetes  por una inerface de red especifica, debes
modificar la tabla de rutas del SO.

Cuando un paquete (no relay) sale por una interface de red, el SO
pone como IP origen del paquete la de la interface.

En el caso de Linux debes utilizar el comando "route" o si quieres
poner reglas de enrutado más complejas debes utilizar el comando "ip"

Saludos.


Juan Carlos Villalobos C escribió:
> Saludos, tengo un scritp que desde un servidor envia unos datos a una 
> ip/puerto, el codigo básico esta así:
> 
> def enviarDato(ip, puerto, dato):
>    host = ip
>    port = puerto
>    buf = 4096
>    addr = (host,port)
>    try:
>        UDPSock = socket(AF_INET,SOCK_DGRAM)
>        UDPSock.connect(addr)
>        UDPSock.settimeout(10)
>        UDPSock.send(dato)
> 
>        datax,addr = UDPSock.recvfrom(buf)
> 
>        UDPSock.close()
>        respuesta = 1
>    except:
>        respuesta = 0
> 
> 
>    return respuesta
> 
> El problema que tengo es que esta saliendo por cierta IP, pero se 
> requiere que salga por una IP especifica.
> ¿Como puedo hacer para especificar la Ip que debe usar para salir ?
> 
> Espero se entienda, muchas gracias de antemano por la colaboración
> 
> 
> 
> Cordial saludo
> Juan Carlos Villalobos Cardona
> 
> La disciplina es la parte más importante del éxito
> "Truman Capote"
> _______________________________________________
> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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