Hallo,
Ich versuche mich im Moment an einem Chat-Server, der dem MSN-Messenger von Microsoft nicht ganz unähnlich ist. (Nicht, weil ich denke, ich könnte es besser machen, sondern um ein wenig mehr über Netzwerkprogrammierung zu erfahren )
Ich wollte auch Dateien zwischen den Clients übertragen können. Bei MSN weiß ich, dass dies über eine direkte Verbindung der beiden Clients funktioniert. (So eine Art P2P)
Mein Problem sind jetzt die IPs, denn in einem LAN ist das noch relativ einfach, diese rauszufinden.
Bei einem Client, der über einen Router ins Netz geht, ist das dagegen sehr viel schwerer...
Wenn ich die IP des Clients hole, bekomme ich ja nur die "lokale" IP im LAN und nicht die des Routers von außerhalb.
Gibt es eine Möglichkeit, diese IP rauszufinden ?
EDIT: Ich nutze WinXP und brauche das Ganze nicht plattformunabhängig.
Für alle Antworten wäre ich sehr dankbar,
Bis dann,
Roman
IP feststellen bei Zugang über Router
Man könnte http://checkip.dyndns.org/ oder so aufrufen und die Antwort auslesen.
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Und woher soll die Gegenstelle seine eigene IP kennen?Leonidas hat geschrieben:Man könnte aber auch seine aktuelle IP von der Gegensetelle anfordern.
Ich finde einen (eigenen) Server am Besten, den kann man nach der IP Fragen, und der kann bei Clienten, die wegen Firewall keine direkte Verbindung hin bekommen, miteinander verbinden.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Man könnte auch ein traceroute/tracepath machen...
Oder man fragt die IP direkt vom router ab. Die haben ja meist eine http Status Seite auf der die IP steht.
Wenn man selber WebSpace hat, könnte man da ein mini Skript plazieren, welches die IP anzeigt:
Es würde aber auch mit einem einfachem SSI gehen:
Ob Skript oder SSI, es könnte ein proxy zwischenfummeln
Oder man fragt die IP direkt vom router ab. Die haben ja meist eine http Status Seite auf der die IP steht.
Wenn man selber WebSpace hat, könnte man da ein mini Skript plazieren, welches die IP anzeigt:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, cgitb
cgitb.enable()
print "Content-Type: text/html;charset=utf-8\n"
print os.environ["REMOTE_ADDR"]
Code: Alles auswählen
<!--#echo var="REMOTE_ADDR" -->
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Die Idee ist die folgende: User kommunizieren normalerweise über den Server (ist bei Jabber so, ist bei IRC so) und dieser Server kennt die IPs der User. Um nun eine direkte Verbindung zu ermöglichen (etwa wie DCC im Fall von IRC), fragt man beim Server seine eigene IP ab und schon hat man die.Sr4l hat geschrieben:Und woher soll die Gegenstelle seine eigene IP kennen?Leonidas hat geschrieben:Man könnte aber auch seine aktuelle IP von der Gegensetelle anfordern.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
War mir klar, ich konnte mir nur nicht verkneifen. In Zukunft schreibe ich (bitte nicht antworten) dahinterLeonidas hat geschrieben:Die Idee ist die folgende: User kommunizieren normalerweise über den Server (ist bei Jabber so, ist bei IRC so) und dieser Server kennt die IPs der User. Um nun eine direkte Verbindung zu ermöglichen (etwa wie DCC im Fall von IRC), fragt man beim Server seine eigene IP ab und schon hat man die.Sr4l hat geschrieben:Und woher soll die Gegenstelle seine eigene IP kennen?Leonidas hat geschrieben:Man könnte aber auch seine aktuelle IP von der Gegensetelle anfordern.
Danke für die vielen Antworten...
Leider wollte ich eigentlich kein eigenes Skript auf den Server packen, da das im Moment über FTP und die Domain meiner Eltern funktioniert , und die wahrscheinlich lieber keine Experimente auf ihrem Server wollen...
Ist FTP da eigentlich schnell genug, wenn ein etwas größerer Traffic durchgeht, oder ist das mit den ganzen Dateien dann zu viel?
Sonst müsste ich mit tatsächlich noch was anderes überlegen...
EDIT: Oh, irgendwie hatte ich Trundles Antwort völlig übersehen...
Danke, so werd ich das mal probieren! Hab nämlich grad festgestellt, dass ich meine FritzBox Seite nicht so einfach auslesen kann, weil die Java und XML benutzt.
Die Idee mit der Site des Routers ist natürlich auch eine Möglichkeit, allerdings wird das wohl nicht ganz leicht, die Seite so zu parsen, dass immer die IP richtig rauskommt.
Morgen oder Übermorgen werd ich mich da mal ransetzen, Ergebnisse schreib ich dann hier...
Bis dann,
Roman
Leider wollte ich eigentlich kein eigenes Skript auf den Server packen, da das im Moment über FTP und die Domain meiner Eltern funktioniert , und die wahrscheinlich lieber keine Experimente auf ihrem Server wollen...
Ist FTP da eigentlich schnell genug, wenn ein etwas größerer Traffic durchgeht, oder ist das mit den ganzen Dateien dann zu viel?
Sonst müsste ich mit tatsächlich noch was anderes überlegen...
EDIT: Oh, irgendwie hatte ich Trundles Antwort völlig übersehen...
Danke, so werd ich das mal probieren! Hab nämlich grad festgestellt, dass ich meine FritzBox Seite nicht so einfach auslesen kann, weil die Java und XML benutzt.
Die Idee mit der Site des Routers ist natürlich auch eine Möglichkeit, allerdings wird das wohl nicht ganz leicht, die Seite so zu parsen, dass immer die IP richtig rauskommt.
Morgen oder Übermorgen werd ich mich da mal ransetzen, Ergebnisse schreib ich dann hier...
Bis dann,
Roman
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Roman hat geschrieben:Ist FTP da eigentlich schnell genug, wenn ein etwas größerer Traffic durchgeht, oder ist das mit den ganzen Dateien dann zu viel?
Was willst du denn machen?
- Den Chat über FTP laufen lassen? Das kannst du vergessen, FTP ist dafür nicht gedacht. Ich würde sogar sagen, FTP ist für gar nichts gut, denn sogar für Datenübertragung ist SFTP besser.
- Die IP über einen FTP-Server herausfinden? Das kannst du auch vergessen, denn der FTP-Server wird dir nicht deine IP sagen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hallo,
Entschuldigt die Verzögerung. Ich war die letzte Zeit nicht zu hause und konnte daher nicht antworten...
Eigentlich hatte ich vor, den Chat über FTP laufen zu lassen, aber es sieht so aus, als müsste ich hierfür wohl ein anderes Protokoll nehmen.
Also doch am Server der Eltern rumspielen
Danke für eure Antworten und die schnelle Hilfe,
Roman
Entschuldigt die Verzögerung. Ich war die letzte Zeit nicht zu hause und konnte daher nicht antworten...
Eigentlich hatte ich vor, den Chat über FTP laufen zu lassen, aber es sieht so aus, als müsste ich hierfür wohl ein anderes Protokoll nehmen.
Also doch am Server der Eltern rumspielen
Danke für eure Antworten und die schnelle Hilfe,
Roman