package javacodebook.net.datagram.multicast;

import java.net.*;
/**
 * @author benjamin_rusch
 *
 * Dieser Sender schickt eine Nachricht an eine Multicast-Adresse. 
 * Alle Empfänger die sich dort registrieren, können diese 
 * Nachricht empfangen. 
 */
public class MulticastSender {

	private static final int PORT = 5000;

	public static void main(String[] args) throws Exception{

		// Ein DatagramSocket wird gebildet (es könnte auch ein 
		// MulticastSocket verwendet werden, ist aber nicht notwendig)
        DatagramSocket socket = new DatagramSocket();
       
       	// Multicast-Adresse, an der sich die Empfänger registrieren
       	// wird verwendet.
        InetAddress groupAddr = InetAddress.getByName("234.0.0.1");
			
	    // Message die verschickt werden soll wird festgelegt, und 
	    // in einen Byte Array umgewandelt
	    String lMessage = "Nachricht";
		byte[] lMessageByte = lMessage.getBytes();
		    
		// Ein Datagrampacket wird samt Inhalt, Information über Größe, 
		// sowie Zieladresse erstellt
		DatagramPacket lPacket = new DatagramPacket(lMessageByte,
				lMessageByte.length,groupAddr,PORT);
		
		// Packet wird verschickt    
        socket.send(lPacket);
	}
}
