Wyszukiwarka serwerów

0

Witam. Piszę aplikację (może bardziej - prostą grę) klient-serwer. Jednak nie jest to serwer, który będzie stał na stałe. Tworzony będzie on na bieżąco po uruchomieniu aplikacji, jeśli ta nie znajdzie istniejącego.

Do tej pory pisząc kod w JAVA, tworzyłem serwer ServerSocket - podając port, na którym będzie działać dana aplikacja, w kliencie natomiast oprócz portu podawany jest dodatkowo adres IP owego serwera (jak można wywnioskować - na stałe).

Jak jednak rozwiązać problem, kiedy będę chciał uruchomić aplikację w zupełnie innej sieci LAN, nie znając (w momencie pisania kodu) adresu IP komputera, na którym w przyszłości mogę chcieć uruchomić program?

0

Serwer po odpaleniu wyświetla swój IP.
Klient prosi użytkownika o podanie tego IP.

0

Chodziło mi raczej o to, żeby to wszystko jakoś zautomatyzować. Konkretniej - aplikacja przekopuje sieć i jeśli znajdzie serwer, to się z nim łączy.

1

Jeżeli to sieć lokalna to klient może dać broadcast po UDP zaś serwer się odezwać.
Jeżeli nie to zastanów się nad master serwerem którego jedyną rolą będzie gromadzenie listy IP serwerów.

1

@cukier_puder możesz na przykład bindować socket na adresie multicastowym. W sieci lokalnej powinno zadziałać. W ten sposób klienci będą mogli komunikować się z serwerem znając jedynie adres grupy.

0

Uhm... Poczytałem o UDP i wydaje mi się, że powinno mi wystarczyć ;)
Dziękuję za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1