Java 主机查找的默认超时是多少?
与此问题相关:我发现了解主机查找的默认超时非常重要 如果超时时间很短,例如几分钟,我认为不使用它是安全的。如果它很长,例如几个小时,我必须为它设置超时 查找主机时套接字的默认超时是多少?这是怎么回事Java 主机查找的默认超时是多少?,java,sockets,dns,timeout,Java,Sockets,Dns,Timeout,与此问题相关:我发现了解主机查找的默认超时非常重要 如果超时时间很短,例如几分钟,我认为不使用它是安全的。如果它很长,例如几个小时,我必须为它设置超时 查找主机时套接字的默认超时是多少?这是怎么回事 import java.io.IOException; import java.net.Socket; import java.net.UnknownHostException; /** * */ public class SocketTimeoutTest { public static
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
/**
*
*/
public class SocketTimeoutTest {
public static void main(String[] args) {
long startMillis = System.currentTimeMillis();
try {
Socket socket = new Socket("www.test123.com", 80);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
long endMillis = System.currentTimeMillis();
System.out.println("Timout: " + (endMillis - startMillis));
}
}
政府应提供以下信息:
DNS提供程序使用以下指数退避算法提交UDP查询。提供程序向DNS服务器提交查询,并在默认情况下等待响应在超时时间1秒内到达。如果在超时期间没有收到响应,它将查询下一个服务器,以此类推。如果提供程序未收到任何服务器的响应,则会将超时时间加倍,并重复向每个服务器提交查询的过程,默认情况下最多重试4次
因此,这取决于您的配置包括的DNS服务器的数量,但默认初始值为1秒,如果所有服务器都出现故障,则每个服务器为31秒;1 + 2 + 4 + 8 + 16 = 31. 初始尝试+4次重试这很有趣,但似乎是针对JNDI的。。。仍然在寻找Java范围的东西。