Entwickler-Ecke
Internet / Netzwerk - Netzwerk Server / Spiel Server announce
bate - Fr 21.05.04 16:56
Titel: Netzwerk Server / Spiel Server announce
Hallöchen,
ich bin dabei ne Anwendung zu schreiben die auf einen selbst geschriebenen Server zugreifen soll.
(Ich verwende INDY Komponenten)
PC1 -> Startet Server auf Port xxxx z.b.
nun starte ich auf PC2 den passenden Client.
Der Client weis aber beim starten nicht wo sich der Server befindet. Sprich IP, Port unknown.
Wie kann ich es am geschicktesten anstellen um herraus zu finden auf welchem port der Server gestartet ist?
Per UDP und echo oder gibt es da ne andere Möglichkeit das zu realisieren. Soll im prinzip wie bei jedem Netzwerkspiel ablaufen, ich starte Anwendung und die zeigt mir mögliche Server mit Port etc an.
Shadowdragon - Fr 21.05.04 18:26
Ich hab' das früher mal in einem Chatprogramm so gelöst, dass der Server im lokalen Netzwerk in einem bestimmten Zeitabstand nach Clients unter einem bestimmten Bereich sucht und denen die IP direkt streamt; da ja im LAN die Übertragungsgeschwindigkeiten recht hoch sind, stellt das kein Problem dar.
Wenn das Ganze über's Internet laufen soll, macht das Programm folgendes: Auf einem festen DNS-Server (z.B. über Free-Webspace bei Lycos o.ä.) wird vom Programm-Server eine Datei mit der IP / den IPs angelegt (je nach Serverzahl); diese Datei wird beim Start des Servers mit der aktuellen IP aktualisiert, nach dem Beenden des Servers wieder gelöscht. Die Clients greifen auf diese Datei zu und holen sich so die jeweils aktuelle IP des Servers.
Wer mir nun einen Backstein gegen den Kopf wirft und mich für unfähig erklärt, mag Recht haben, das ist aber die einzige dynamische Lösung, die mir gerade einfällt.
bate - Fr 21.05.04 21:08
Hi, fürs dynmische würd ich ja den DNS updaten, das kein Problem. Gib ja genug Free DynDNS Dienste.
Es geht mir aber darum wie es z.B die Spiele Hersteller machen. Ich die Zeigen ja auch alle Server im lokale Netz an die mit dem Spiel kompatibel sind. Also es könnte auch vorkommen das dort 5 angezeigt werden.
Dev Server => 192.168.x.y:7777
Life Server => 192.168.x.y:8888
Backup Server => 192.168.x.y:9999
es muss also irgend ne Lösung über IP Broadcasting oder dergleichen geben. :) Also her mit den Ideen. :)
DaRkFiRe - Sa 22.05.04 01:17
Also die machen das alle mit a) Master-Servern (HL/CS) oder b) UDP-Requests (HL/CS im LAN, soweit ich weiß).
a)
Ein Server verbindet sich mit einem Masterserver (es existiert eine Liste mit vielen MasterServer-IP-Adressen auf dem Client) und registriert sich.
Zum Suchen verbinden sich andere Clients mit dem Master und führen Requests aus und wissen dann, unter welcher IP ein Server steckt.
b)
Bei UDP wird ein Broadcast in das Subnet gesendet, die Server antworten dann auf den Broadcast et voila - haste Deine IP (kann je nach HOPS und TTL länger dauern).
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!