Ich bevorzuge da den entgegen gesetzen Weg: Client wird gestartet, und fragt per Broadcast "Ist hier irgendwo mein Server?" Der Server erkennt am Payload dass er gemeint ist, und schickt dem Client direkt eine Antwort "Jup, ich bin dein Kandidat." Dann wird die
TCP Verbindung aufgebaut, und los gehts.
Ich finde das deswegen eleganter, weil meistens ja doch seltener neue Clients kommen, als ein Server dann seinen Broadcast im Netz "spammen" müsste.
Andererseits ist es bei einer von den Clients ausgelösten Serversuche leichter, den Server mit einem DDOS Angriff - viele, eventuell auch manipulierte UDP Pakte - zu überlasten.
Ein Server dagegen, der nur UDP versendet, aber nie UDP Pakete empfangen braucht, kann durch die Firewall leicht vor Angriffen geschützt werden.
Links zum Thema:
- http://en.wikipedia.org/wiki/UDP_flood_attack
- http://en.wikipedia.org/wiki/Low_Orbit_Ion_Cannon