Dla mojej aplikacji na Androida użytkownicy muszą łączyć się z serwerem, który będzie hostowany w tej samej sieci LAN. W tej samej sieci LAN może znajdować się wiele serwerów. Aby ułatwić użytkownikowi, miałem zamiar przeskanować bieżącą sieć LAN, do której jest podłączone urządzenie z systemem Android, a następnie wyświetlić listę wszystkich urządzeń sieciowych, na których działa serwer, zamiast wprowadzania przez użytkownika adresu IP do komputera ręcznie.Wykrywanie urządzeń sieciowych
Jestem całkiem nowy w pracy w sieci i po kilku poszukiwaniach dowiedziałem się, że będę musiał użyć przeszukiwania DNS w wielu transmisjach lub transmisji UDP, aby wykryć inne urządzenia. Znalazłem też fajną bibliotekę o nazwie jmDNS, chociaż znalazłem na niej bardzo mało dokumentacji i przykładowy kod. Czy ktoś może wskazać mi właściwą drogę do tego, co próbuję zrobić, aby zaoszczędzić mi straconego czasu (głównie jeśli jestem na dobrej drodze)? Zakładam, że będę musiał nieco zmodyfikować mój serwer, żeby go nadawać? Działa całkowicie zgodnie z przeznaczeniem, jeśli ręcznie wprowadzę adres IP na stronę konfiguracji w mojej aplikacji. Poza tym musi tylko wykryć komputery z systemem Windows, nie mając pewności, czy to ma znaczenie. Z góry dziękuję.
Yup, mDNS jest prawdopodobnie najlepszym sposobem, aby przejść tutaj. Musisz zainstalować usługę Bonjour na komputerach z systemem Windows, ponieważ nie jest tam obsługiwana natywnie. – Piskvor
Po instalacji, masz na myśli rzeczywisty instalator (który może być problemem) lub po prostu dodanie kodu do mojego serwera, aby mógł on obsługiwać Bonjour? –
Myślę, że * mógłbyś pójść drogą "dodaj do swojego serwera", ale byłoby to więcej pracy dla ciebie; do tej pory używałem tego instalatora od Apple: http://en.wikipedia.org/wiki/Bonjour_(software)#Microsoft_Windows_implementation (Mac OS i Linux mają natywne wsparcie, wierzę, że ta usługa może być częścią instalacja iTunes, więc komputer może już to mieć) – Piskvor