Ping?



  • Hallo

    es gibt für Messager (oder andere Client/Server-Programme) eben zwei Konzepte :
    - Ein fester Server mit einer festen IP/einem festen Namen, der von allen Clients angesprochen wird und die Verwaltung erledigt
    - Der User gibt selber die IP/den Namen eines Servers ein, den er kennt. Wenn dann der Client auch gleich als Server arbeiten kann, hat man die Möglichkeit einer Direktverbindung.

    Das Abscannen halte ich für Fehleranfällig (wer weiß was auf deinem festen Port alles antwortet), langsam und nicht erwünscht.

    bis bald
    akari



  • Jo, das nicht so toll.

    Gut ich mach dann einen neuen Thread auf, denn ich will das Problem mit einer anderen Möglichkeit lösen 🙂



  • Hallo,

    Ping hat nichts mit Ports zu tun.

    Der Ping steckt im Dienst ICPM (ICMP/IP).
    Das mit den Ports begint erst ab TCP(TCP/IP).

    Wenn ein Rechner1(Host(Wirt)) mit einer gültigen IP am Netz hängt, kann er von
    einem anderen Rechner2(Host) angepingt werden egal ob auf dem Rechner Clients
    oder Server laufen.

    Ping bezieht sich nur auf die Rechner(Host's).

    Wird nun auf Rechner1 ein Server Socket, dem vorher ein bestimmter Port
    zugewiesen wurde z.B. 100, gestartet ist dieses schon TCP/IP.

    Auf Rechner2(Host) wird nun ein Client gestartet mit der Portadresse
    des Servers (Port 100) auf Rechner1.
    Damit der Client über diesen Port eine Verbindung zum Server auf Rechner1
    herstellen kann, muss er die IP wissen.

    Weiss er sie kann er eine TCP/IP Verbindung mit dem Server auf Rechner1
    über Port 100 und der IP von Rechner1 aufbauen und über das TCP/IP Protocol Daten austauschen.

    Hat man nun auf 10 von 100 Rechnern(Host's) im Netz einen Server auf Port 100 gestartet,
    weiss aber nicht unter welche Ip's->Rechner(Host's) sie laufen,
    Pingt man erstmal alle möglichen IP's im Netz an, kommt eine Antwort von einem
    Rechner(Host) weiss man das sich hinter dieser IP ein Rechner am Netz befindet.

    Nun versucht sich der Client, über die gerade durch den Ping ermittelte IP, mit einem eventuellen Server der auf dem Rechner auf Port 100 lauscht zu verbinden.

    Kommt keine Verbindung zu stande (es existiert zwar ein Rechner mit dieser IP im
    Netz es befindet sich aber darauf kein Server mit der Port Adresse 100)
    versucht er das gleiche beim nächsten Rechner.

    Findet er einen Rechner auf dem ein Server auf Port 100 lauscht kann
    der Client eine Verbindung mit dem Server eingehen und Daten austauschen.

    Auf einem Rechner(Host) können auch mehrere Client's oder Server laufen.



  • hermes schrieb:

    Wenn ein Rechner1(Host(Wirt)) mit einer gültigen IP am Netz hängt, kann er von
    einem anderen Rechner2(Host) angepingt werden egal ob auf dem Rechner Clients
    oder Server laufen.

    aber nur wenn der sein icmp aktiviert hat bzw. überhaupt eins hat.

    hermes schrieb:

    Wird nun auf Rechner1 ein Server Socket, dem vorher ein bestimmter Port
    zugewiesen wurde z.B. 100, gestartet ist dieses schon TCP/IP.

    oder z.b. udp

    hermes schrieb:

    Auf einem Rechner(Host) können auch mehrere Client's oder Server laufen.

    aber pro protokoll (udp oder tcp) und portnummer kann nur ein server lauschen. dagegen können viele clients verbindungen auf dem gleichen port zu dem selben oder verschiedenen rechnern aufnehmen.



  • ähhh... globale funktionen in einer komponente! und bei jedem ping die lib neu laden ist glaub ich nicht sehr gelungen...

    Komponente geändert


Anmelden zum Antworten