# UDP Multicastproblem



## renek (27. Sep 2007)

Hallo zusammen

Ich habe folgenden Code als Test geschrieben:


```
DatagramSocket socket = new DatagramSocket( 4711 ); 
 
    while ( true ) 
    { 
      // Auf Anfrage warten 
 
      
      DatagramPacket packet = new DatagramPacket( new byte[1024], 1024 ); 
      socket.receive( packet ); 
 
      // Empfänger auslesen 
 
      InetAddress address = packet.getAddress(); 
      int         port    = packet.getPort(); 
      int         len     = packet.getLength(); 
      byte[]      data    = packet.getData(); 
 
	  
      System.out.println( "Daten von " + address + 
                          " vom Port " + port + 
                          " Länge " + len + 
                          "\n" + new String( data, 0, len ) ); 
    }
```

Das Programm wartet solange bis es Daten auf Port 4711 empfängt. Nur leider reagiert es sowohl auf direkt adressierte  als auch Broadcast Datenpakete.
Wie kann ich herausfinden, ob die Daten NUR für diesen einen Client bestimmt waren und kein Broadcast.

Gruß René


----------



## HoaX (27. Sep 2007)

zeil-ip des pakets mit der eigenen ip vergleichen?


----------



## renek (28. Sep 2007)

Morgen

Auf die Idee bin ich auch schon gekommen. Nur wie komme ich an den IP-Header ran? Im UDP-Header steht ja nur die Quell-IP. Welche Funktion muss ich dafür aufrufen?

Gruß René


----------



## HoaX (28. Sep 2007)

blöd wenn das wirklich nicht drinnen steht. bleibt dir wohl nur je ip einen eigenen serversocket zu binden.


----------

