У меня есть гнездо в соответствии с:Python сокет связываются 0.0.0.0, проверьте входящее сообщение
self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.socket.bind(('0.0.0.0', 67)) # Listen on port 67
Теперь сокет прослушивает все интерфейсы в порту 67. Я выждать некоторое сообщение:
message, address = self.socket.recvfrom(8192) # Blocking
Когда сообщение получено, я хотел бы отправить ответ широковещания на порт 68 на том же интерфейсе, который получал сообщение.
Вопрос: есть ли способ проверить сообщение и определить, какой сетевой интерфейс получил сообщение, и если да, как я могу отправить ответ и предоставить этот интерфейс для транспорта?
Работает под Windows, Python 3.4.
Possibily родственный - [Как сказать, какой интерфейс сокет получил сообщение от?] (http://stackoverflow.com/questions/603577/how-to-tell-which-interface-the-socket-received-the-message-from) – jweyrich