title: Python socket bind 0.0.0.0, inspect incoming message
body: <p>I have a socket according to:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>Now, the socket listening on all interfaces at port 67. I wait for some message:</p>
  
  <pre><code>message, address = self.socket.recvfrom(8192) # Blocking
  </code></pre>
  
  <p>When a message is received, I would like to send a broadcast response at port 68 on the same interface that was receiving the message.</p>
  
  <p>The question is: Is there some way to inspect the message and determine which network interface that was receiving the message, and if it is, how can I send a response and provide that interface for transport?</p>
  
  <p>Running at Windows, Python 3.4.</p>