Discovery: Broadcast correct host addresses when host is 0.0.0.0
When a server is started on host address 0.0.0.0, it runs on all available local IPv4 addresses (usually 127.0.0.1 and 192.168.X.Y). Instead of broadcasting the non-routable address 0.0.0.0, it should be registered on both socket.gethostbyname("localhost") and socket.gethostbyname(socket.gethostname()).