SendMulticastPaket

Aus Programmers Guide

Wechseln zu: Navigation, Suche

Ein Multicast-Paket mit JAVA ins Subnetz schicken

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.util.Timer;
import java.util.TimerTask;
 
public class SendPacket{
 
	/* WICHTIG:
	 *
	 * Wir erwarten hier zwei Argumente:
	 * Argument 1 übergibt einen String. Dieser wird zum Empfänger mitgeschickt
	 * Argument 2 übergibt die Zieladresse -> es macht Sinn hier eine Broadcast-
	 * Subnetzadresse zu nehmen wie 192.168.0.255
	*/
	public static void main(final String[] args) {
		//unser Timer der aller 5 Sekunden mit anfangs 5 Sekunden verzögerung
		//ein Paket absenden soll
		Timer timer = new Timer();
		timer.scheduleAtFixedRate(new TimerTask() {
			@Override
			public void run() {
				sendPaket(args[0],args[1]);
				}
		}, 5000, 5000);
	}
 
	public static void sendPaket(String arg,String subnet){
		//na dann versuch mal ein Paket zu schicken
		try {
			MulticastSocket socket = new MulticastSocket(4446);
			String data = new String("Ich bin hieeeer "+arg);
			System.out.println(data);
 
			byte[] buffer = data.getBytes("UTF8");
			socket.send(new DatagramPacket(buffer, buffer.length , InetAddress.getByName(subnet) , 4447));
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


siehe dazu auch ReceiveMulticastPaket

Persönliche Werkzeuge