Fah*_*imi 6 android socket-timeout-exception retrofit
我正在使用 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)
在我当前的项目中,我遇到了同样的问题。可能是您的网络硬件/软件有问题。我有两个路由器。有了第一个路由器,我的应用程序就可以完美运行。第二个路由器位于另一个房间。当我尝试使用应用程序时,它几乎运行良好。但是当我去另一个房间并尝试以良好的信号发出请求时 - 我java.net.SocketTimeoutException在 5 秒后收到(我在 Retrofit 中的超时是 120 秒)。
| 归档时间: |
|
| 查看次数: |
4379 次 |
| 最近记录: |