okhttp संस्करण:3.11.0
या उच्चतर
okhttp स्रोत कोड से
/**
* Sets the default connect timeout for new connections. A value of 0 means no timeout,
* otherwise values must be between 1 and {@link Integer#MAX_VALUE} when converted to
* milliseconds.
*
* <p>The connectTimeout is applied when connecting a TCP socket to the target host.
* The default value is 10 seconds.
*/
public Builder connectTimeout(long timeout, TimeUnit unit) {
connectTimeout = checkDuration("timeout", timeout, unit);
return this;
}
unit
नीचे का कोई भी मूल्य हो सकता है
TimeUnit.NANOSECONDS
TimeUnit.MICROSECONDS
TimeUnit.MILLISECONDS
TimeUnit.SECONDS
TimeUnit.MINUTES
TimeUnit.HOURS
TimeUnit.DAYS
उदाहरण कोड
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(5000, TimeUnit.MILLISECONDS)/*timeout: 5 seconds*/
.build();
String url = "https://www.google.com";
Request request = new Request.Builder()
.url(url)
.build();
try {
Response response = client.newCall(request).execute();
} catch (IOException e) {
e.printStackTrace();
}
अपडेट किया गया
मैंने संस्करण से okhttp में नई एपीआई जोड़ी है 3.12.0
, आप इस तरह टाइमआउट सेट कर सकते हैं:
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(Duration.ofSeconds(5))/*timeout: 5 seconds*/
.build();
नोट: इसके लिए API 26+ की आवश्यकता होती है, इसलिए यदि आप Android के पुराने संस्करणों का समर्थन करते हैं, तो उपयोग करना जारी रखें (5, TimeUnit.SECONDS)
।