Udp.beginPacket() time delay problem

You understand, I hope, that UDP is not meant to send and receive responses. It is meant to be used like a radio station. Broadcast a message, If no one hears it, that makes no difference.

Yes I understand how UDP works ;). But the problem is that UDP appears to behave differently based on whether there is someone listens to it or not on the other end. The line of code that contains Udp.beginPacket(IP_Remote, Port_Remote) will execute almost instantly if there is a device to receive the message on the other end but it takes 2 to 5 seconds to execute if there is no device to receive the message on the other end. my idea is to use the interrupt routine to periodically broadcast a message using UDP (just to see if some one is out there) and the main loop would only monitor incoming messages on UDP and do other stuff. I can see where in the library files (EhternetUdp.cpp and Dns.cpp) it attempts 3 times to connect to the remote (when you call Udp.beginPacket(IP_Remote, Port_Remote)) before it gives up but what I don't understand is why it does that?