ich habe hier ein Problem und wollte eure Meinung wissen.
Ich Schreibe gerade ein kleines Computerspiel ( Client / Server Bassiert )
Quasi als Feature listet mein Programm alle Aktiven Server in einer Liste auf, wenn der Client Joinen will.
Dies geschieht in dem der Server auf einem UDP-Port "listen"ed
und alle Clients via UDP-Broadcast ins Netz pingen.
Sobald der Server einen Ping erhählt antwortet er und sendet seine Serverdaten.
Der Client der das dann empfängt weiß nun anhand der Antwort auf welcher IP der Server sitzt und kann sich auf diesen Verbinden (TCP).
All das funktioniert mit LNet UDP und TCP wunderbar.
Aber !
Sobald ein Client mehr wie eine Netzwerkkarte hat wird der UDP-Broadcast an "irgend" eine Netzwerkkarte gesendet und nicht an Alle. Und wie es der Zufall so will ist das natürlich immer die Falsche. Meine Anwendung hat deswegen die Möglichkeit die Server-IP auch händisch ein zu geben. Macht man das kann das Spiel dann ganz normal gestartet werden.
Daraus ergibt sich folgende Problemstellung bei der ich um eure Hilfe Frage:
1. Wie kriegt man raus dass es mehrere Netzwerkkarten im System gibt (und deren IP-Addressen) (Meine Anwendung läuft auf Windows64, Linux64)
2. genügt es dann einfach anstatt wie bis jetzt
Code: Alles auswählen
If Not fUDPConnection.Connect('127.0.0.1', UDPPingPort) Then Begin