2011-08-25 168 views

回答

0

這個答案給出了一些見解。您可以創建一個套接字到一個不存在的站點,並且這樣做的時間將是DNS解析時間。 DNS query in android source code

我不知道一個Android API直接查詢DNS,但也許有一個Java庫可以使用,或者自己推出。

+0

我想要了解每個查詢中引起的延遲。因此,可能是第一次可能需要更多時間,但考慮到DHCP服務器正在運行自己的緩存服務器,對同一網址的連續請求可能會減少延遲。 – anargund

+0

DHCP確實與DNS無關。您可能正在連接的路由器,或者(可能)Android手機,甚至是ISP正在緩存DNS查詢結果。這是很常見的,所以後續的查找通常會更快。速度及其隨時間變化的方式因許多因素而異,因此您可能無法找到一致性。 –

+0

據我所知,當你連接到一個新的網絡時,你會得到一個新的DNS服務器,在大多數情況下由DHCP itsel分配。糾正我,如果我錯了。一些參考可能有所幫助 – anargund

0

InetAddress API將能夠幫助您編寫自己的。然而,它不提供低級別的配置,例如更改DNS地址等

0

擴大@丹■迴應...我加我的代碼片段:

long startTS, endTS; 
String addressName; 
startTS = System.currentTimeMillis(); 
addressName = InetAddress.getByName(hostNameOrIp); 
endTS = System.currentTimeMillis(); 
Log.d(TAG, "Elapsed time: "+(endTS-startTS)); 

希望它可以幫助別人