2013-02-02 9 views
5

Jaki jest najbardziej efektywny pod względem zasobów sposób wykonywania wyszukiwania rekordów SRV w systemie Android, np. w kliencie XMPP, takim jak yaxim?Lekki sposób na rozwiązywanie rekordów DNS SRV na Androida

Jestem świadomy:

  • JNDI, który jest częścią JavaSE ale nie w Androidzie
  • dnsjava, który dodaje 800 kB plików klasowych (580KByte po PROGUARD, więc prawdopodobnie będzie trudno oddzielić pliki potrzebne tylko dla SRV lookup)
  • natywnych narzędzi takich jak kopać, nslookup, etc., które po skompilowany statycznie, mają ślad podobny do dnsjava a ponadto uczynić swoją aplikację natywną kodu zależnego

Przeczytałem Querying the DNS service records to find the hostname and TCP/IP, ale zawiera ona tylko nazwy JNDI i dnsjava.

Na pewno nie jestem pierwszą osobą, która wystąpi ten problem i tam musi być jakaś lekka SRV DNS do rozpoznawania nazw w Javie :-)

Edit: punktów bonusowych za dostarczanie DNSSEC weryfikacja/DANE certyfikat zapytań.

+0

@geOrg Czy kiedykolwiek znalazłeś odpowiedź na swoje pytanie? Chciałbym zrobić coś podobnego. Jak dotąd odkryłem, że używanie kodu z biblioteki C, jak res_query, również nie działa na Androidzie. – GrandAdmiral

+0

@GrandAdmiral Przepraszamy, żadnych wiadomości ode mnie jeszcze. Jednak teraz zwiększam moje wymagania przez "DNSSEC/DANE" ;-) – ge0rg

Odpowiedz

0

To może być trochę późno, ale odniesienie do tej kwestii może pomóc:

Java DNS Lookup for SRV records

Odpowiedź jest za pomocą zewnętrznej biblioteki (najnowsza wersja, luty 2015 jak to pisze) , to około 310 KB i zgodnie z licencją BSD. Można go znaleźć pod adresem http://www.dnsjava.org/download/. Wszystko pochodzi z jednego JAR-u i jest wydawane od 1999 roku.

Powiązane problemy