Ссылаясь на документы API Java 6 для DatagramSocket класс:
Отправка широковещательных сообщений UDP всегда разрешена для DatagramSocket. Чтобы получать широковещательные пакеты, DatagramSocket должен быть привязан к групповому адресу. В некоторых реализациях широковещательные пакеты также могут быть получены, когда DatagramSocket привязан к более конкретному адресу.
Может ли кто-нибудь сказать мне, что такое «подстановочный адрес»? И действительно ли следующее для прослушивания широковещательных передач UDP:
MulticastSocket socket = new MulticastSocket(new InetSocketAddress(InetAddress.getByName("0.0.0.0"),4445);