Did you know ... Search Documentation:
Predicate udp_broadcast/3
 udp_broadcast(+What, +Scope, +TimeOut)[private]
Send a broadcast request to my UDP peers in Scope. What is either of the shape Term:Address to send Term to a specific address or query the address from which term is answered or it is a plain Term.

If Term is nonground, it is considered is a request (see broadcast_request/1) and the predicate succeeds for each answer received within TimeOut seconds. If Term is ground it is considered an asynchronous broadcast and udp_broadcast/3 is deterministic.