public class Receiver {
public static void main(String[] args) throws Exception {
MulticastSocket socket = new MulticastSocket(8000);
InetAddress group = InetAddress.getByName("225.0.0.2");
socket.joinGroup(group);
byte[] arr = new byte[8192];
DatagramPacket dp = new DatagramPacket(arr, arr.length);
Thread t1 = new Thread() {
@Override
public void run() {
try {
while (true) {
socket.receive(dp);
String str = new String(dp.getData(), 0, dp.getLength());
System.out.println(str);
}
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
};
t1.start();
t1.join();
}
}
public class Sender {
public static void main(String[] args) throws Exception{
MulticastSocket socket = new MulticastSocket(7000);
InetAddress ia = InetAddress.getByName("225.0.0.2");
ThreadLocalRandom r = ThreadLocalRandom.current();
while (true){
String str = "str_"+r.nextInt();
DatagramPacket packet = new DatagramPacket(str.getBytes(), str.getBytes().length, ia, 8000);
socket.send(packet);
}
}
}