# ServerIP ermitteln



## k_HaosPrinz (27. Nov 2007)

hallo leute,

die frage wurde zwar wahrscheinlich schon mal irgendwo beantwortet, aber ich hab, selbst mithilfe der suchfunktion, keine antwort gefunden...

mein problem ist folgendes:

ich habe einen Microcontroller mit ethernetanschluss der im lokalen netzwerk hängt. auf dem µC läuft ein webserver und ein tcpserver. wenn man den controller mit einem browser ansurft kann man von diesem eine htmlpage mit javaapplet laden... und das javaapplet baut dann eine tcp verbindung zum µC auf über die kommuniziert wird...

mein problem ist jetzt: wie bekomme ich im javaapplet die ip des servers (also des µC). die brauche ich ja um eine tcpverbindung aufzubauen... dinge wie 

InetAddress.getByName("localhost").getHostAddress(); 
oder this.getDocumentBase(); 

liefern nur immer die lokale adresse des pcs zurück von dem aus ich den controller ansurfe...und das applet weis die ip des servers ja nicht von vornherein, die kann ja immer anders sein, je nachdem in welchem netzwerk das ding hängt... ich brauche aber die ip des servers, also von wo ich das applet geladen hab... kann man die irgendwie ermitteln?

mfg


----------



## DocRandom (27. Nov 2007)

Hi!
Also meine Suche hat gleich geklappt!

lg
DocRandom


----------



## tuxedo (27. Nov 2007)

@DocRandom

das ist glaub nicht das was er gesucht hat. Er will keine Adressauflösung machen, er will die IP der Mikrocontrollers im Applet haben, so dass der Applet-benutzer nicht die IP/den Hostnamen selbst eintragen muss.

@k_HaosPrinz
Was spricht dagegen in die HTML-Seite einen Parameter einzubauen, der dem Applet die uC Adresse mitteilt?
AFAIK gibts keine möglichkeit innerhalb des Applets rauszufinden, von welchem Webserver, bzw. welcher IP/Hostnamen das Applet aufgerufen wurde.


----------



## k_HaosPrinz (27. Nov 2007)

ja ich bräuchte genau das was alex0801 gesagt hat... der appletuser soll ja davon gar nix mitbekommen, er soll nur das applet aufrufen das sich selbst zur ip connected von der es geladen wurde. 


das mit den parametern per html ist natürlich ne möglichkeit, allerdings für mich sehr schlecht, da man dann jedesmal wenn sich die ip ändert (also der controller in einem anderen netz hängt bzw eine andere dyn.IP zugewisen bekommt) man immer die html seite ändern muss. und das heißt das man den µC neu beschreiben müsste. was ja der endbenutzer sicher nicht machen kann/will^^ 

gibts da echt keine andere möglichkeit um seinen server zu ermitteln? ich bin mit meinem latein bald am ende  :autsch:


----------



## DocRandom (27. Nov 2007)

Bleibt der Hostname des µC's immer gleich?

lg
DocRandom


----------



## tuxedo (27. Nov 2007)

@k_HaosPrinz

Was spricht dagegen die HTML-Seite vom uC "generieren" zu lassen? Dann kann der Webserver immer eine zur IP passende HTML-Seite ausliefern.


----------



## Guest (27. Nov 2007)

dankeschön für die schnellen antworten... ich glaub ich hab die lösung jetzt selbst gefunden.

und die ist sogar ziemlich einfach   

 host = this.getCodeBase().getHost();

 ist der ganze zauber...funktioniert bisher ganz gut, werd das ganze jetzt mal ausführlicher testen^^

@DocRandom: nö die adresse bleibt nicht gleich, wie gesagt, das modul soll dann in verschiedene netzwerke eingebunden werden. und bekommt ja deshalb immer andere IPs...


----------



## k_HaosPrinz (27. Nov 2007)

...der obere post ist von mir, hab nicht gemerkt das ich ausgelogt war... mfg


----------



## tuxedo (28. Nov 2007)

Und wiedereinmal haben wir was dazu gelernt... Ist ne schicke Lösung.

- Alex


----------

