Sockets: usar ip para salida del servidor

Juan Carlos Villalobos C jucavilst en gmail.com
Jue Jun 19 05:13:54 CEST 2008


Hola Otto, pues mira que la aplicación esta funcionando, o sea, esta 
trasmitiendo y al otro lado si recibe los datos tal cual lo plantee. Solo 
que  se requiere que no salga por la IP q esta saliendo actualmente sino por 
otra, pero de resto esta funcionando bien.

Gracias por tu interes y tiempo, estoy a la orden.

Cordial saludo
Juan Carlos Villalobos Cardona

La disciplina es la parte más importante del éxito
"Truman Capote"

--------------------------------------------------
From: "Otto Machado" <ottomachado en infomed.sld.cu>
Sent: Wednesday, June 18, 2008 2:10 PM
To: "'Lista de discusión sobre python en castellano'" <python-es en aditel.org>
Subject: RE: [Python-es] Sockets: usar ip para salida del servidor

> Hola:
> Si estas usando el protocolo UDP (lo estas especificando al usar la opcion
> SOCK_DGRAM) no me parece que debas conectarte a ninguna dirección (usando
> connect()) porque este es un protocolo no orientado a conexion a 
> diferencia
> de TCP. Para enviar un dato, no debes por tanto usar send(), sino sendto()
> donde uno de los argumentos es la dirección IP. Echa un vistazo a la ayuda
> de Python.
> Saludos.
>
>
>
> -----Mensaje original-----
> De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En
> nombre de Juan Carlos Villalobos C
> Enviado el: miércoles, 18 de junio de 2008 10:28
> Para: Lista de discusión sobre python en castellano
> Asunto: Re: [Python-es] Sockets: usar ip para salida del servidor
>
>> 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
> --------------------------------------------------
>>From: "Pepe Aracil" <pepe en diselpro.com>
>>Sent: Wednesday, June 18, 2008 2:57 AM
>>To: "Lista de discusión sobre python en castellano" <python-es en aditel.org>
>>Subject: Re: [Python-es] Sockets: usar ip para salida del servidor
>>
>> 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.
>
>
> Hola Pepe, gracias por responder.
>
> Si entonces el tema es por ese lado, voy a quedar bloqueado ya que esto
> corre en un hosting de los que se contratan normalmente, y obviamente no
> puedo lanzar comandos u operar el SO.
>
> Pense que existia la forma de hacerlo, pero también en lo que he podido
> encontrar, no he visto información al respecto.
>
> Gracias por tu ayuda
>
> Cordial saludo
> Juan Carlos
 

_______________________________________________
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