import java.io.*;
import java.net.*;

public class autobusesServidor{
    public static void main(String args[]){
        try{
            // Se une al grupo que está en una dirección de difusion (clase D)
            InetAddress grupo=InetAddress.getByName("224.0.0.1");
            MulticastSocket socket=new MulticastSocket(6789);
            socket.joinGroup(grupo);
            // Constantemente...
            while(true){
                // ...abre el fichero autobusesFichero.csv...
                FileReader fr=new FileReader("autobusesFichero.csv");
                BufferedReader br=new BufferedReader(fr);
                String registro=br.readLine();
                while(registro!=null){
                    System.out.println("Servidor->"+registro);
                    // ...manda un registro al grupo...
                    byte[] m=registro.getBytes();
                    DatagramPacket mensajeSalida=new DatagramPacket(m,m.length,grupo,6789);
                    socket.send(mensajeSalida);
                    registro=br.readLine();
                }
                // ...y acaba
                br.close();
                fr.close();
                // Envio la palabra FIN y me duermo 5 segundos
                byte[] m="FIN".getBytes();
                DatagramPacket mensajeSalida=new DatagramPacket(m,m.length,grupo,6789);
                socket.send(mensajeSalida);
                Thread.sleep(5000);
            }
            // socket.leaveGroup(grupo);
        }catch(Exception e){
        }
    }

}
