Android Java Retrofit powtarzania calla daje ConnectException

0

Dzień dobry, chcę wykonywać zapytanie za zapytaniem w momencie, kiedy zapytanie się wykona. Wykonuję to w ten sposób:

OnContinueUserPing.java

public interface OnContinueUserPing {

    void onContinue();
}

GameActivity.java

 public class GameActivity extends AppCompatActivity implements OnContinueUserPing {
    
    (...)

        @Override
        public void onStart() {
            restModel.setUserPing(login, this);
        }
    
        @Override
        public void onContinue() {
            restModel.setUserPing(login, this);
        }
    }

RestModel.java

public void setUserPing(String login, OnContinueUserPing onContinueUserPing) {
    Call<String> result = Api.getClient().setUserPing(login);
    result.enqueue(new Callback<String>() {
        @Override
        public void onResponse(Call<String> call, Response<String> response) {
            Log.e("setUserPingResponse", "a");
            onContinueUserPing.onContinue();
        }

        @Override
        public void onFailure(Call<String> call, Throwable t) {
            Log.e("setUserPingError", t.toString());
            call.clone().enqueue(this);
        }
    });
}

Api.java

public class Api {

    public static ApiInterface getClient() {
        HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
        interceptor.setLevel(HttpLoggingInterceptor.Level.HEADERS);
        OkHttpClient client = new OkHttpClient.Builder()
                .addInterceptor(interceptor)
                .connectTimeout(100, TimeUnit.SECONDS)
                .readTimeout(100,TimeUnit.SECONDS).build();
        Gson gson = new GsonBuilder()
                .setLenient()
                .create();
        Retrofit retrofit = new Retrofit.Builder().client(client)
                .baseUrl("https://jawegiel-web.herokuapp.com/")
                .addConverterFactory(ScalarsConverterFactory.create())
                .addConverterFactory(GsonConverterFactory.create(gson))
                .build();
        return retrofit.create(ApiInterface.class);
    }
}

I działa ten kod przez pierwsze kilka minut. Ale później na zmianę dział i nie działa, z błędem: Failed to connect to jawegiel-web.herokuapp.com/18.208.60.216:443, gdzie ten dziwny adres IP zmienia się co chwila. Dziwny bo powiedzcie skąd on się tam bierze skoro nigdzie go nie definiuje w baseUrl. Jak więc naprawić ten błąd failed to connect? Pozdrawiam.

1

Skorzystaj z RxJava i operatora flatMap

1 użytkowników online, w tym zalogowanych: 0, gości: 1