2011-07-22 11 views
7

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ę.

+0

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

+0

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? –

+0

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

Odpowiedz

7

JmDNS to kompletna biblioteka Java, której można użyć do konfiguracji. Można go wykorzystać do wyszukania usług, które mogą wyszukiwać inni klienci.

Usługa Bounjour w systemie Windows jest nieco skomplikowana, chociaż jest to zdecydowanie możliwe. Łatwiej byłoby powiedzieć, że używam jmDNS do rozgłaszania i wykrywania zarówno dla twoich serwerów, jak i klientów.

+0

Myślę, że to jest sposób, w jaki podejdę do tego, dzięki. –

0

Można uruchomić jDM lub inną usługę w sieci lokalnej jako usługę w tle lub dameon.

Powiązane problemy