Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 主机查找的默认超时是多少?_Java_Sockets_Dns_Timeout - Fatal编程技术网

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范围的东西。