2016-09-02 3 views
4

Ich arbeite an einem nativen Android-Projekt (Java) Test auf einem physischen Gerät mit Android 4.4.2. Mein OkHttpClient websocket verbindet sich, aber nach 10 Sekunden ist es das, was ich versuche, die Timeout-Einstellung zu ändern.Wie stelle ich Timeout für OkHttpClient ein?

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

aber es sagt Cannot resolve method setReadTimeout(int, java.util.concurrent.TimeUnit)

Dies sind meine Importe:

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; 

und in meiner gradle Datei habe ich compile 'com.squareup.okhttp3:okhttp-ws:3.4.1'

Antwort

12

hast du mit Baumeister versuchen?

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

UPDATE

versuchen Kompilieren compile 'com.squareup.okhttp3:okhttp:3.4.1'

+0

ich sie gerade versucht, die gleiche Sache, 'kann nicht aufgelöst Methode ...' – CookieMonster

+0

@CookieMonster versuchen, die aktualisierte Antwort – AmirG

+0

ich das meinem gradle hinzugefügt während ich meine alte behalte und es scheint nichts zu ändern. Ich habe versucht, mein Original zu entfernen und deins zu behalten, aber ich brauche mein Original für spätere Teile, wo ich 'WebSocketCall ws = WebSocketCall.create (...' – CookieMonster

Verwandte Themen