Välityspalvelimen CONNECT-aikakatkokset onnistuneen TCP-yhteyden jälkeen
Selvitä CONNECTin aikana voimassa oleva aikakatkaisu sen sijaan, että olettaisit valmiin TCP-yhteyden päättäneen myös tunnelin määrityksen.
TCP-yhteyden aikakatkaisu on tehnyt tehtävänsä heti, kun asiakas yhdistyy välityspalvelimeen. Seuraava odotus—täydellisen CONNECT-vastauksen vastaanottaminen—voi olla toisen ajastimen alainen.
Välityspalvelin saattaa yhä yhdistää ylävirtaan, vaihtaa todennusviestejä tai odottaa toista palvelua. Verkkosivuston tavallinen vastaus ei ole vielä alkanut.
| Viimeksi valmistunut vaihe | Mitä yhä odotetaan? |
|---|---|
| TCP yhdistetty välityspalvelimeen | Välityspalvelimen kättely, mukaan lukien CONNECTin hyväksyntä |
| CONNECT hyväksytty | Kohteen TLS, kun kohde käyttää sitä |
| Kohteen pyyntö lähetetty | Kohteen vastaus |
Etsi ajastin, joka on käytössä, kun liitin lukee ja kirjoittaa tuota kättelyä. “response timeout” -niminen ominaisuus voi tulla voimaan vasta reitin muodostamisen jälkeen. HttpClient 5:ssä erota ConnectionConfig ja sen socket-aikakatkaisu, TLS-kättelyn kokoonpano ja pyyntötason vastausaikakatkaisu. Käytä asianmukaista yhteyden kokoonpanoa sen hallinnan kautta, jota varsinainen asiakas käyttää. Vanhemmat Apache HttpClient -sukupolvet käyttävät eri sovellusliittymiä, joten vanhempi katkelma ei ole luotettava kartta näistä vastuista.
Säilytä lopullinen CONNECT-hylkäys välityspalvelimen vastauksena. Onnistunutta vastausta seuraava TLS-pysähdys on toinen epäonnistumisvaihe. ”TCP yhdistetty; ei täydellistä CONNECT-vastausta ennen määrityksen määräaikaa” kuvaa ongelman tarkemmin kuin yleinen välityspalvelimen aikakatkaisu.
Kokonais-määräaika voi rajoittaa kutsujan odotusta näiden vaiherajojen ohella. Kun se umpeutuu, peruuta tai sulje toiminto asiakkaan tukeman elinkaaren kautta ennen kuin uusi yritys kuluttaa yhteyden kapasiteettia.