2010-03-04 90 views

回答

1

是不是一个足够的DNS查询单线程?因为DNS查找只需要向DNS服务器发送请求以将域名转换为IP地址,则一旦获得该请求,应该将其存储在操作系统中供以后使用。

+0

我需要尽快结果,但DNS查询过程非常缓慢。 – 2010-03-04 05:02:53

+0

DNS查询过程需要DNS服务器的请求,如果DNS服务器离你很远,则需要时间。 – YOU 2010-03-04 05:05:07

+0

我有很多的域名处理,更多的线程可以吗? – 2010-03-04 05:06:06

0

DNS查找的速度很可能受到本地DNS服务器的速度和/或其与您正在与之通话的远程DNS服务器之间的网络带宽和延迟的限制。

从Java中,您可以通过产生更多的线程来创建更多的InetSocketAddress(已完成更多的DNS查找),但迟早会遇到越来越难以解决的外部限制。

问题:为什么你需要创建大量的InetSocketAddress对象?

编辑 - 根据您的回复,我假设这些的InetSocketAddress对象都是为了同一个远程主机,并且你希望他们快速做出应用程序启动速度快。在这种情况下,您可以避免重复DNS查找,方法是从创建的第一个InetSocketAddress中取出IP地址,然后使用该IP地址创建剩余的InetSocketAddress对象。

问题2:提高什么速度?你是否想同时与很多服务器交谈?为什么?

+0

创建更多InetSocketAddress似乎提高了速度。 – 2010-03-04 07:02:07