2010-04-22 10 views
8

Me gustaría enviar un paquete específico de difusión UDP .. desafortunadamente necesito enviar el paquete udp desde un puerto muy específico para todos los paquetes que envío.Número de puerto fuente de puerto

Digamos que transmito a través de UDP "BLABLAH", el servidor solo responderá si el puerto fuente de mi paquete entrante fue 1444, si no, el paquete se descarta.

Mi configuración toma de emisión aspecto:

s = socket(AF_INET,SOCK_DGRAM) 

s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1) 

¿Cómo puedo hacer que (establece el puerto de origen) en Python?

Gracias!

Respuesta

14

Necesita bind el conector al puerto específico desde el que desea enviar. El método bind toma una tupla de dirección, muy similar a connect, aunque puede usar la dirección de comodín. Por ejemplo:

s.bind(('0.0.0.0', 1444)) 
Cuestiones relacionadas