To clarify, in case I misunderstood the various questions / replies:
 
Create one UDP socket (bound to a port) for incoming datagrams. From then on, all incoming datagrams (that are sent to that address / port) can be “replied” to with “receive_from” and “send_to” – no additional sockets need to be created. This is a common use case for datagrams.
 
Cliff