Java UDP BroadCating.
sample code:
public class BroadcastingClient {
private static DatagramSocket socket = null;
public static void main(String[] args) throws IOException {
broadcast("Hello", InetAddress.getByName("255.255.255.255"));
}
public static void broadcast(
String broadcastMessage, InetAddress address) throws IOException {
socket = new DatagramSocket();
socket.setBroadcast(true);
byte[] buffer = broadcastMessage.getBytes();
DatagramPacket packet
= new DatagramPacket(buffer, buffer.length, address, 4445);
socket.send(packet);
socket.close();
}
}
list broadcast address:
List<InetAddress> listAllBroadcastAddresses() throws SocketException {
List<InetAddress> broadcastList = new ArrayList<InetAddress>();
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface networkInterface = interfaces.nextElement();
if (networkInterface.isLoopback() || !networkInterface.isUp()) {
continue;
}
networkInterface.getInterfaceAddresses().stream().map(a -> a.getBroadcast()).filter(Objects::nonNull)
.forEach(broadcastList::add);
}
return broadcastList;
}
Comments
Post a Comment