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