ExtendedResolver是dnsjava中的一个类,它实现了扩展的DNS解析器。它可以通过多个DNS服务器来解析域名,并且可以设置超时时间和重试次数。
ExtendedResolver的实现过程如下:
1. 创建一个ExtendedResolver对象,可以传入一个或多个DNS服务器地址作为参数。
2. 当需要解析一个域名时,ExtendedResolver会依次向每个DNS服务器发送DNS查询请求,直到有一个服务器返回响应或者所有服务器都没有返回响应。
3. 如果某个DNS服务器返回了响应,ExtendedResolver会将响应解析成DNS消息,并返回给调用者。
4. 如果所有DNS服务器都没有返回响应,ExtendedResolver会根据设置的超时时间和重试次数进行重试,直到达到最大重试次数或者有一个服务器返回响应为止。
5. 如果所有DNS服务器都没有返回响应并且达到了最大重试次数,ExtendedResolver会抛出异常。
6. ExtendedResolver还提供了一些其他的方法,例如设置超时时间、设置重试次数等。
总之,ExtendedResolver是dnsjava中一个非常实用的类,它可以帮助我们解决DNS解析问题,并且可以通过设置超时时间和重试次数来提高解析的可靠性。