title: UDP hole punching timeout
body: <p>I need to implement a UDP protocol. The PC has to listen at a dedicated UDP port for incoming packets. It also sends packet (answers). The application runs on Windows XP, 7, 8, ....</p>
  
  <p>The Windows firewall blocks incoming packets. This can be circumvent by UDP hole punching. So I have to send something that should not hurt. But I want to disturb as little as possible. </p>
  
  <ul>
  <li>How can I determine the timeout until the firewall will close the hole? </li>
  <li>Can I detect that the firewall has closed the firewall so that I have to resend to opening packet? Of course I won't receive anything when the firewall is closed but this might have other reasons.</li>
  </ul>