OkHttp сұранысында жалпы өзгертілетін прокси өрісі жоқ. Шақыруын жасамас бұрын көзделген маршруты бар клиентті таңдаңыз.

Қалған конфигурация ортақ болып қалуы керек болса, бағдарланған клиентті бар клиенттен туындылаңыз:

OkHttpClient routed = baseClient.newBuilder()
    .proxy(new Proxy(Proxy.Type.HTTP,
        new InetSocketAddress("203.0.113.10", 8080)))
    .build();

Соңғы нүкте тек мысал ретінде. HTTP прокси тізіміндегі жалпыға қолжетімді HTTP соңғы нүктелері рұқсат етілген қоғамдық қызмет маршруты үшін бұл сокет мекенжайын толтыра алады, егер негізгі клиенттің саясаты жаңа соңғы нүктеге прокси тіркелгі деректерін бермесе. OkHttp newBuilder байланыс пулы мен ағын ресурстарын бастапқы клиентпен бөлісетінін құжаттайды. Бұл бір прокси арқылы орнатылған сокетті басқа маршрут ретінде қайта атауға болады дегенді білдірмейді. Байланыс жарамдылығы әлі де маршрут пен мекенжай конфигурациясына байланысты.

Қайталанатын жұмыс үшін шынымен қажет маршруттау саясаты бойынша кілттелген шектеулі клиенттер жиынын ұстаңыз. Кілттерінде бұрын-соңды байқалған барлық уақытша тіркелгі немесе прокси нұсқалары бар шексіз картадан аулақ болыңыз.

Ресурстарды бөлісу өшіруге де әсер етеді. Ортақ кэшті жабу немесе ортақ диспетчерді өшіру сол ресурстарды пайдаланатын басқа туынды клиенттерге әсер етуі мүмкін. Әрбір туынды клиентті оқшауланған желілік стек ретінде қарастырудың орнына ресурстар меншігіне қосымша деңгейіндегі нақты өмірлік цикл беріңіз.

Соңында, таңдалған прокси идентификациясын шақырудың өз метадеректеріне қосыңыз. Жаһандық «соңғы таңдалған прокси» айнымалысы бірнеше бір мезгілдегі сұраныстың маршрутын анықтай алмайды.

Қатысты мақалалар