hi Bonkers
verstehe das nicht ganz. die lokale ip wird doch vom
betriebssystem festgelegt. da kann man im programm nicht
wirklich was auswählen. wäre ja auch sinnlos - wie soll mich
denn das datenpaket finden, wenn ich im java-programm eine
andere ip mitgebe als ich tatsächlich habe.
Wenn ich auf einem System mehrere IP Adressen habe und die Kommunikation über eine bestimmt IP abwickeln will, dann ist das nicht sinnlos.
Die Situtaion ist folgende: Ich habe eine primäre IP Adresse und mehrere virtuelle IP Adressen(oder auch Alias IPs genannt, glaub ich). Mein Programm kommuniziert über die primäre IP, was mist ist, da diese auf der Firewall nicht freigegeben ist. Ich muss das Programm dazu bringen auf eine bestimmt Alias IP zu hören. Und mit Umstellen der Routing Tabelle ist das nicht möglich, der Admin haut mich sonst…
Hoffe jetzt ist es klarer.
dementsprechend kann man den konstruktor für einen socket auch
keine ip-adresse mitgeben, da die das betriebssystem zum
zeitpunkt des aufbaus der verbindung aus den routing-tabellen
ermittelt.
doch das kann man:
Socket(InetAddress address, int port, InetAddress localAddr, int localPort)
Aber wie gesagt das hilft mir nicht, das Programm verwendet nur:
Socket(InetAddress address, int port)
wobei der 1. Parameter die IP der Zieladresse ist und als lokale IP automatisch die primäre IP verwendet wird.
Grüße
B.