Hallo zusammen,
beim initialisieren einer Client-Server-Verbindung über JacORB muss JacORB natürtlich wissen, über welche IP-Adresse die Kommunikation läuft.
Sollte der Rechner nur eine einzige Netzwerkkarte bestitzen, so stellt das kein Problem dar. Sollten jedoch mehrere Netzwerkkarten vorhanden sein, so wird bei JacORB direkt angegeben, über welche IP-Adresse die Kommunikation laufen muss.
Und hier ist nun das Problem.
In der aktuellen Variante iteriere ich über alle vorhandenen Adressen des Client-Rechners
. Bei jeder Adresse wird nun überprüft, ob der Client vom Server aus erreichbar ist (per isReachable). Sollte der Client über die IP-Adresse erreichbar sein, so habe ich meine Adresse gefunden.
Hier der Code dazu:
Soweit so gut. Das ganze hat auch Jahrelang gut funktioniert. Nun wird jedoch beim Server (Windows Server Edition 2008) die Firewall eingeschaltet. Die Methode isReachable gibt nun immer false zurück, obwohl der Client per Ping erreichbar ist.
Ich habe auch bereits versucht, den TCP-Port 7 bei der Server-Firewall zu öffnen, da über diesen Port die Kommunikation der Methode isReachable läuft. Leider jedoch vergebens. Auch habe ich für IMCP alle Ports in der Firewall geöffnet.
Ich habe das Forum bereits über den isReachable()-Befehl durchsucht. Richtig weiter helfen konnte mir es jedoch leider nicht.
Wie kann ich also nun das eigentliche Problem lösen? Wie kann ich herausbekommen, welche IP-Verbindung bei mehreren Netzwerkkarten die korrekte ist, bzw. wie kann ich mein aktuelles Vorgehen anpassen, damit es funktioniert?
Besten Dank für eure Rückmeldungen und viele Grüße,
Martin
beim initialisieren einer Client-Server-Verbindung über JacORB muss JacORB natürtlich wissen, über welche IP-Adresse die Kommunikation läuft.
Sollte der Rechner nur eine einzige Netzwerkkarte bestitzen, so stellt das kein Problem dar. Sollten jedoch mehrere Netzwerkkarten vorhanden sein, so wird bei JacORB direkt angegeben, über welche IP-Adresse die Kommunikation laufen muss.
Und hier ist nun das Problem.
In der aktuellen Variante iteriere ich über alle vorhandenen Adressen des Client-Rechners
Code:
inetAddresses
Hier der Code dazu:
Java:
for (int i = 0; i < inetAddresses.length; i++) {
NetworkInterface net = NetworkInterface.getByInetAddress(inetAddresses[i]);
if (serverAdress.isReachable(net, 0, 500)) {
myAdresse = inetAddresses[i];
break;
}
}
Soweit so gut. Das ganze hat auch Jahrelang gut funktioniert. Nun wird jedoch beim Server (Windows Server Edition 2008) die Firewall eingeschaltet. Die Methode isReachable gibt nun immer false zurück, obwohl der Client per Ping erreichbar ist.
Ich habe auch bereits versucht, den TCP-Port 7 bei der Server-Firewall zu öffnen, da über diesen Port die Kommunikation der Methode isReachable läuft. Leider jedoch vergebens. Auch habe ich für IMCP alle Ports in der Firewall geöffnet.
Ich habe das Forum bereits über den isReachable()-Befehl durchsucht. Richtig weiter helfen konnte mir es jedoch leider nicht.
Wie kann ich also nun das eigentliche Problem lösen? Wie kann ich herausbekommen, welche IP-Verbindung bei mehreren Netzwerkkarten die korrekte ist, bzw. wie kann ich mein aktuelles Vorgehen anpassen, damit es funktioniert?
Besten Dank für eure Rückmeldungen und viele Grüße,
Martin