Проблема при использовании pro-guard против модернизации
HTTP FAILED: java.net.SocketException: recvfrom failed: ECONNRESET
(Connection reset by peer)
Я знаю, что этот вопрос уже задавался, но эта ошибка, с которой я сталкиваюсь, происходит из другого сценария ...
Найдено ссылки, связанные с этой ошибкой, но я не нашел правильного решения.
Получение «SocketException: сброс соединения по пиру» в Android
https://github.com/square/retrofit/issues/1027
Я использую Retrofit
HTTP client
для вызова API, используя запрос тела.
@POST("users/new")
Call<User> createUser(@Body User user);
Мой клиент
public static OkHttpClient getClient() {
if (client == null) {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
RequestInterceptor m1RequestInterceptor = new RequestInterceptor();
client = new OkHttpClient.Builder()
.connectTimeout(2, TimeUnit.MINUTES)
.readTimeout(2, TimeUnit.MINUTES)
.addInterceptor(interceptor)
.addInterceptor(m1RequestInterceptor)
.build();
}
return client;
}
Правила Pro-Guard
# Retain generic type information for use by reflection by converters and adapters.
-keepattributes Signature
# Retain service method parameters when optimizing.
-keepclassmembers,allowshrinking,allowobfuscation interface * {
@retrofit2.http.* <methods>;
}
Проблема: Когда я нажимаю запрос к серверу для ответа в течение одного раза, он будет отлично работать и получал ответ от сервера, но когда я нажимал несколько запросов одновременно (более 5 запросов к серверу), получал HTTP FAILED: java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
Примечание: Отлично работает без Proguard, но пока я добавляю Proguard, я получил вышеупомянутую проблему
Я также получил эту ссылку -> https://github.com/square/retrofit/issues/1027 -> Но она была близка и не получила никакого решения для этого.