Der Broadcast meiner Netzwerkschnittstelle

gora

Mitglied
Hallo liebe JavaFreunde!

Ich schreibe gerade einen Instantmessanger in Java.
Hierbei soll eine Serverapplikation zum Einsatz kommen, die die Kontakte verwaltet und so weiter...
Wenn ein User online geht soll sich der Client am Server anmelden. Um den Server zu erreichen soll der Client ein Udp-Paket an die Broadcastadresse senden und auf Antwort warten....
Soweit zur Theorie...

Unter Windows kann ich mit diesem Code super die Nic auslesen und bekommen auch die richtige Broadcastaddresse. Aber mein Hardy Heron (Ubuntu) zuhause stellt sich quer.

Java:
public void listInterfaces()throws Exception{

 Enumeration<NetworkInterface> netInter = NetworkInterface.getNetworkInterfaces();
    int n = 0;

    while ( netInter.hasMoreElements() )
    {
     NetworkInterface ni = netInter.nextElement();

     List<InterfaceAddress> liste = ni.getInterfaceAddresses();
     this.iadd= liste.get(0);
    

      for ( InetAddress iaddress : Collections.list(ni.getInetAddresses()) )
      {

      if( !iaddress.isLoopbackAddress() ){


     
        this.homeIpAddresse = iaddress.getHostAddress().toString();
      
        System.out.println("IP und Broadcast : ");
        System.out.println( "IP: "+ this.homeIpAddresse);
        System.out.println("BC: "+ this.iadd.getBroadcast());
     
      }
      }

    }

}

So sieht der Output unter Linux aus :

Code:
 IP und Broadcast : 
IP: fe80:0:0:0:219:66ff:fe1a:45d3%2
BC: null

IP und Broadcast : 
IP: 192.168.1.7
BC: null

Unter Windows XP zeigt der mir keine IPv6 adresse an, sondern hat nur eine Schnitstelle und liefert mir auch den entsprechenden Broadcast zu dem Netz in dem ich mich befinde.

Was habe ich übersehen?

Jetzt schon einmal vielen Dank für eure Hilfe

Grüße Gora
 
Wäre nett, wenn du noch diene Lösung posten würdest, falls jemand das gleiche Problem hat.
 
Lösung...

Naja ich weiß nicht ob es einen Lösung ist.
Kann es leider unter Windows nicht testen.
Aber ich habe nur aus dem liste.get(0) ein liste.get(1) gemacht und voila hatte ich meine Broadcastadresse.

Gora
 
Zurück