小编Fah*_*imi的帖子

java.net.SocketTimeoutException 与改造

我正在使用 Retrofit 和 OkHttp 连接到服务器。大多数时候效果很好。但在某些情况下它会失败。有时 HTTP失败: java.net.UnknownHostException,有时 java.net.SocketTimeoutException。这个错误是当我使用家庭 wifi 连接到服务器时出现的。但是当我使用移动网络时,它是好的,没有问题。配合模拟器使用还是不错的。它只发生在真实设备上。而且只是某些时候而不是所有时候。

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



    retrofit = new Retrofit.Builder()
            .baseUrl(ClientConfigs.REST_API_BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .client(httpClient.build())
            .build();


compile 'com.squareup.retrofit2:retrofit:2.2.0'
 compile 'com.squareup.retrofit2:converter-gson:2.1.0'
Run Code Online (Sandbox Code Playgroud)

android socket-timeout-exception retrofit

6
推荐指数
1
解决办法
4379
查看次数