Мне нужен код, чтобы получить адрес только что созданного сокета (чтобы отфильтровать пакеты, отправленные с локального хоста в многоадресной сети)
это:
socket.gethostbyname (socket.gethostname ())
работает на Mac, но возвращает только локальный IP-адрес в Linux ... Есть ли в любом случае, чтобы получить адрес локальной сети
спасибо
- изменить -
возможно ли получить его из настроек сокета, например, ОС должна выбрать IP-адрес локальной сети для отправки на ... могу ли я играть на getsockopt (... IP_MULTICAST_IF ...) Я не знаю точно, как чтобы использовать это хотя ...?
--- редактировать ---
РЕШИТЬ!
send_sock.setsockopt (socket.IPPROTO_IP, socket.IP_MULTICAST_LOOP, 0)
размещение этого на сокете отправки устраняет эхо-пакеты пакетов на хост, отправляющий их, что устраняет необходимость для программы знать, какой IP-адрес выбрана ОС для отправки.
яй!