Próbuję włączyć wykrywanie usług w mojej aplikacji klient-serwer przy użyciu JmDNS. W pełni rozumiem rejestru usług po stronie serwera, z kodem, który przypomina to:Wykrywanie usług JmDNS w klient-serwer
JmDNS jmdns = JmDNS.create(localhost);
jmdns.register(serviceInfo);
Jednak mam problemy zastanawianie się, jak mój klient ma odzyskać numer portu i adres IP z zarejestrowanego obsługi i użytkowania te dane, aby otworzyć połączenie TCP. Szukałem przykłady, jak korzystać z JmDNS, ale bez skutku. Czy ktoś może podać mi kilka podstawowych przykładów? Lub czy ktoś ma jakieś linki do dobrych zasobów/samouczków na JmDNS, czy mógłby je podać?
Uwaga: JmDNS jest koniecznością tutaj, więc chciałbym docenić odpowiedzi odnoszące się tylko do JmDNS i nie oferujące alternatywy. Ponadto obszernie przyjrzałem się interfejsowi API JmDNS i nadal nie mogę tego zrozumieć, więc nie publikuj linku do dokumentów jako zasobu.
Dzięki.
Dzięki, to naprawdę sprawia, że rzeczy są dla mnie bardziej przejrzyste. Będąc całkowicie obeznany z wywołania zwrotnego w Javie (lub w jakimkolwiek języku, o to chodzi), w jaki sposób chciałbym pobrać informacje o usługach z wywołania zwrotnego w przeciwieństwie do ServiceInfo []? Czy jest to tylko kwestia deklarowania ciągu serviceUrl poza implementacją serviceListener, więc mogę uzyskać do niego dostęp globalnie? –
Tak, zwykle zdefiniuj ServiceListener jako wewnętrzną klasę i zdefiniuj serviceUrl jako zmienną instancji klasy zewnętrznej. – yorkw
@yorkw Czy istnieje szansa na rozszerzenie przykładowego kodu, aby pokazać, jak go przeanalizować i otworzyć gniazdo? Nie mogę znaleźć właściwego kodu połączenia po stronie klienta. – Radu