2010-04-22 5 views
8

Я хотел бы отправить конкретный пакет широковещательной рассылки UDP .. к сожалению, мне нужно отправить пакет udp из очень специфический порт для всего отправляемого пакета.Номер порта источника гнезд

Предположим, что я транслирую через UDP «BLABLAH», сервер будет отвечать только в том случае, если мой порт источника входящего пакета был 1444, если пакет не отбрасывается.

Моя трансляция установка гнездо выглядеть следующим образом:

s = socket(AF_INET,SOCK_DGRAM) 

s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1) 

Как я могу это сделать (установить порт источника) в Python?

Спасибо!

ответ

14

Вам необходимо установить bind сокет на конкретный порт, из которого вы хотите отправить сообщение. Метод bind принимает адресный кортеж, похожий на connect, хотя вы можете использовать подстановочный знак. Например:

s.bind(('0.0.0.0', 1444)) 
Смежные вопросы