Gameserver finden

brunothg

Aktives Mitglied
Also ich versuche mich gerade an einem Spiel das ich programmieren will.
Soweit habe ich keine Probleme.
Aber es kann wie bei so ziemlich allen Multiplayerspielen vorkommen, dass einige Computer mit verschiedenen IP's einen Server stellen.
Jetzt ist meine Frage, wie ich alle IP's herausfinden kann, die auf einen mir bekannten Port einen solchen Server bereitstellen.

Mein Ansatz war: Einfach nach der Subnetzmaske alle möglichen IP's durchzugehen und zu überprüfen, ob dort ein Server ist. Das dauert aber sehr lange und es muss doch irgendetwas besseres geben.
 
So funktioniert das nicht 😉

Wenn IPV6 kommt, dann failst du damit

Die Lösung ist trivial: Alle melden sich an einen MasterServer an. Dort kann man dann die IPs abrufen.
 
Die Lösung ist trivial: Alle melden sich an einen MasterServer an. Dort kann man dann die IPs abrufen.
aber doch bitte nicht im LAN - das ist die Lösung fürs Internet, da dort einige Dienste verhindert werden

Jetzt ist meine Frage, wie ich alle IP's herausfinden kann, die auf einen mir bekannten Port einen solchen Server bereitstellen.
dafür gibt es Broadcast ... geht aber nur unter Umständen über Subnetze hinaus - im privaten Bereich wirst Du diese Hardware aber nie finden
 
Danke das mit dem Broadcasting ist einei gute Idee.
Ich habe mich mal etwas schlau gemacht und habe mehrere Methoden gefunden.

1. Broadcast
2. Multicast

Jetzt ist meine Frage welches das beste ist (für lokal LAN) und wie ich das in Java realisieren kann.
Beispielcode wäre schön (oder Internetseiten).

Für 2. habe ich was gefunden MulticastSocket (Java 2 Platform SE v1.4.2)
Aber mir sagen die ganzen IP's nichts die man benutzen kann,soll usw.
 
Broadcast läuft über die BC Adresse deines subnetzes. Im falle von einer SNM von 255.255.255.0 wäre das bei z.b. 192.168.0.x wobei x = 255 für den broadcast ist. dann einfach auf diese Addresse ein UDP Paket absetzen und fertig ist der lack, oder irre ich mich? 😉
 
Broadcast läuft über die BC Adresse deines subnetzes. Im falle von einer SNM von 255.255.255.0 wäre das bei z.b. 192.168.0.x wobei x = 255 für den broadcast ist. dann einfach auf diese Addresse ein UDP Paket absetzen und fertig ist der lack, oder irre ich mich? 😉
da meistens der Broadcast nicht über Subnetze weiter gereicht wird, kann man auch Any nehmen (255.255.255.255)
 

Neue Themen


Zurück
Oben