Create another udp socket for sending discovery message.

Create another udp socket for sending discovery message and use a random
free port for sending message. It avoids confusion when sending discovery
responses to a (ip, port) when we have multiple udp socket listening on the
same port on the same ip.