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.
So sieht der Output unter Linux aus :
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
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