UDP ports between PX4 and QGC

I am trying do understand the socket level communication between PX4 and QgroundControl.
First question: Why does the PX4 bind a local port to the socket before broadcasting its heartbeat to 14550?
Second question: How does QGC catch the adress port from PX4 to answer? Because if we use bind function at PX4, QGC is obvious the client and we can’t bind a socket to a specific port to listen for connections.