如何为OkHttpClient设置超时?

时间:2016-09-02 15:16:58

标签: java android okhttp3

我正在使用android 4.4.2在物理设备上进行本机android项目(Java)测试。我的OkHttpClient websocket连接但在10秒后超时,这就是我试图用来更改超时设置。

OkHttpClient client = new OkHttpClient();
client.setReadTimeout(0, TimeUnit.MILLISECONDS);

但它是在说Cannot resolve method setReadTimeout(int, java.util.concurrent.TimeUnit)

这些是我的进口商品:

import android.util.Log;

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
import okhttp3.ws.WebSocket;
import okhttp3.ws.WebSocketCall;
import okhttp3.ws.WebSocketListener;
import okio.Buffer;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;
import java.util.*;
import java.util.concurrent.TimeUnit;

在我的gradle文件中,我有compile 'com.squareup.okhttp3:okhttp-ws:3.4.1'

1 个答案:

答案 0 :(得分:14)

你尝试过建设者吗?

OkHttpClient client = new OkHttpClient.Builder()
    .connectTimeout(10, TimeUnit.SECONDS)
    .writeTimeout(10, TimeUnit.SECONDS)
    .readTimeout(30, TimeUnit.SECONDS)
    .build();

<强>更新

尝试编译compile 'com.squareup.okhttp3:okhttp:3.4.1'