Üblicherweise löst man das so:
Der Client schickt eine UDP - Message an die Broadcastadresse (eigeneIP or (NOT netzmask)) mit einem best. Port.
Jeder Server antwortet mit seinen Daten (Servername, eigeneIP, Port, Servertyp).
Der Client sammelt die Daten ein und weiss Bescheid.
Richtig interessant wäre nun die Benutzung von
UPnP (Universal Plug 'n Play).