袜子已设置连接超时,但未生效

时间:2019-05-14 12:54:40

标签: java

我在套接字上设置了超时,如果该值小于21秒,则该超时是有效的;在21秒之后,我发现超时仍为21秒

public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        String time1= sdf.format(new Date());
        System.out.println(time1);
        try {
            Socket sock = new Socket();
            SocketAddress socketAddress = new InetSocketAddress("128.28.28.28",80);
            sock.connect(socketAddress,60000);
        }catch (Exception ex){
            ex.printStackTrace();
        }finally {
            time1= sdf.format(new Date());
            System.out.println(time1);
        }
    }

运行这段代码需要60秒的超时时间,但是它会在21秒后超时,但是如果将60,000更改为5,000,您会发现它实际上已经过了五秒钟了,我怀疑套接字的默认值超时只有21秒,但我找不到证据。我想找到证据,知道该怎么做才能使他的秒数从60秒延长到60秒。

0 个答案:

没有答案