2017-09-05 19 views
0

を時間がタイムアウトし、以下のコードは、ログに記録します。(2.0)レトロフィット呼び出し内の呼び出しをレトロフィットは、私はレトロフィット2.0を使用していた例外

"insertListingImages, SocketOutOfTimeException:TimeOut timeout"

なぜタイムアウト例外が発生していますか?どうすれば解決できますか?奇妙な点は、改造電話hi()が改造呼の中にない場合、insertListingImages()すべて正常に機能することです。

retrofit = new Retrofit.Builder() 
       .baseUrl("http://IP_ADRESS/") 
       .addConverterFactory(GsonConverterFactory.create()) 
       .build().create(DatabaseInterface.class); 

retrofit.insertListingImages(imageListingRequest).enqueue(new Callback<Void>() { 
        @Override 
        public void onResponse(Call<Void> call, Response<Void> response) { 
         Log.d("insertListingImages", "Success"); 
          retrofit.hi().enqueue(new Callback<Void>(){ 
          @Override 
          public void onResponse(Call<Void> call, Response<Void> response){ 
           Log.d("hiTest", "Success"); 
          } 

          @Override 
          public void onFailure(Call<Void> call, Throwable t) { 
           Log.d("hiTest", "fail: " + t.toString() + " " + t.getMessage()); 
          } 


          }); 
        } 

        @Override 
        public void onFailure(Call<Void> call, Throwable t) { 
         Log.d("insertListingImages", "fail: " + t.toString() + " " + t.getMessage()); 
        } 
}); 

答えて

0

このコードで接続タイムアウトと読み取りタイムアウトを変更できます。あなたは

HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); 
    interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); 
    OkHttpClient client = new OkHttpClient.Builder().connectTimeout(120, TimeUnit.SECONDS).readTimeout(120, TimeUnit.SECONDS).addInterceptor(interceptor).build(); 
Retrofit retrofit = new Retrofit.Builder() 
      .baseUrl(Constants.url) 
      .addConverterFactory(GsonConverterFactory.create()) 
      .client(client) 
      .build(); 

ここで上記のコードは120秒と時間を設定するに改造するためのカスタムクライアントを設定する必要があり、ビルドに線の下に追加する必要があなたの必要性

に応じてそれを変更することができます.gradleファイル

compile 'com.squareup.okhttp3:logging-interceptor:3.3.1' 
+0

私はこれを試してみます。タイムアウトはなぜ発生したのですか? –

+0

これを読んでくださいhttps://stackoverflow.com/questions/30767460/okhttp-retrofit-default-timeout – Nithinlal

関連する問題