Hallo!
Ich schreibe derzeit an einer P2P-Anwendung.
Dazu sind die Peers Empfänger und Sender zugleich. Ich hätte gerne, dass der Port mit dem A zu B sendet, auch der Port ist, mit dem A auf eingehende Verbindungen von B lauscht, so dass jeder Peer seinen Port selbst bestimmen kann und sich nicht alle auf einen einigen müssen.
Leider finde ich für Socket nur Konstruktoren die, wenn ich den lokalen Port angeben kann, auch die lokale IP-Adresse, mit der gesendet wird, mit angeben muss. Diese finde ich jedoch nur heraus, wenn ich einen Socket ohne diese Informationen erstelle und die mir dann mit getLocalAddress die lokale Netzwerkverbindung geben lasse, die für das Senden aktiv ist.
Ich hab zum Beispiel zwei Netzwerkinterfaces, aber nur eins ist mit dem Internet verbunden und sendet demnach. Natürlich hat das eine auch eine IP-Adresse.
Wie finde ich nun also ohne den Umweg über den zuerst erstellen Socket die InetAddress raus, die fürs Senden verantwortlich ist?
Wenn ich InetAddress.getLocalHost() aufrufe. wird mir die 127.0.0.1 geliefert, die mir nichts bringt...
Ich schreibe derzeit an einer P2P-Anwendung.
Dazu sind die Peers Empfänger und Sender zugleich. Ich hätte gerne, dass der Port mit dem A zu B sendet, auch der Port ist, mit dem A auf eingehende Verbindungen von B lauscht, so dass jeder Peer seinen Port selbst bestimmen kann und sich nicht alle auf einen einigen müssen.
Leider finde ich für Socket nur Konstruktoren die, wenn ich den lokalen Port angeben kann, auch die lokale IP-Adresse, mit der gesendet wird, mit angeben muss. Diese finde ich jedoch nur heraus, wenn ich einen Socket ohne diese Informationen erstelle und die mir dann mit getLocalAddress die lokale Netzwerkverbindung geben lasse, die für das Senden aktiv ist.
Ich hab zum Beispiel zwei Netzwerkinterfaces, aber nur eins ist mit dem Internet verbunden und sendet demnach. Natürlich hat das eine auch eine IP-Adresse.
Wie finde ich nun also ohne den Umweg über den zuerst erstellen Socket die InetAddress raus, die fürs Senden verantwortlich ist?
Wenn ich InetAddress.getLocalHost() aufrufe. wird mir die 127.0.0.1 geliefert, die mir nichts bringt...