import java.io.*;
import java.net.*;

public class escuchadorGrupo{
    public static void main(String args[]){
        try{
            // Se une al grupo
            InetAddress grupo=InetAddress.getByName("224.0.0.1");
            MulticastSocket socket=new MulticastSocket(6789);
            socket.joinGroup(grupo);
            System.out.println("Escuchando mensajes del grupo");
            // Variables para recibir paquetes de datos
            byte[] bufer=new byte[1000];
            String linea;
            while(true){
                // Recibo datagramas (en bytes) hasta completar un paquete
                DatagramPacket mensajeEntrada=new DatagramPacket(bufer,bufer.length);
                socket.receive(mensajeEntrada);
                // Convierto los bytes en un String
                linea=new String(mensajeEntrada.getData(),0,mensajeEntrada.getLength());
                // Lo muestro
                System.out.println(linea);
                // Esto es para salir alguna vez
                if(linea.equals("Adios")) break;
            }
            // Abandona el grupo
            socket.leaveGroup(grupo);
        }catch(Exception e){
        }
    }

}
