OkHttp设置链接超时

okhttp设置链接超时网上有很多,记录一下

异步

 

OkHttpClient client = new OkHttpClient.Builder()
        .connectTimeout(10, TimeUnit.SECONDS)//设置连接超时时间
        .readTimeout(20, TimeUnit.SECONDS)//设置读取超时时间
        .build();
Request.Builder builder = new Request.Builder().url("http://10.7.5.144/oos");

Call call = client.newCall(builder.build());
call.enqueue(new Callback() {
    @Override
    public void onFailure(Call call, IOException e) {
        if(e instanceof SocketTimeoutException){//判断超时异常

        }
        if(e instanceof ConnectException){//判断连接异常,我这里是报Failed to connect to 10.7.5.144

        }
    }

    @Override
    public void onResponse(Call call, Response response) throws IOException {

    }
});

 

同步

 

Thread thread = new Thread(){
            @Override
            public void run() {
                super.run();
                OkHttpClient client = new OkHttpClient.Builder()
                        .connectTimeout(10, TimeUnit.SECONDS)//设置连接超时时间
                        .readTimeout(20, TimeUnit.SECONDS)//设置读取超时时间
                        .build();
                Request.Builder builder = new Request.Builder().url("http://10.7.5.144/oos");
                Call call = client.newCall(builder.build());
                try {
                    Response response = call.execute();
                    System.out.println(response.body().string());
                } catch (IOException e) {
//                    e.printStackTrace();
                    if(e instanceof SocketTimeoutException){//判断超时异常

                    }
                    if(e instanceof ConnectException){//判断连接异常,我这里是报Failed to connect to 10.7.5.144

                    }

                }
            }
        };
        thread.start();

 

 

 

 

 

 

你可能感兴趣的:(android)