Išsaugota cURL rankenėlė gali leisti vėlesniems perdavimams pakartotinai naudoti suderinamus podėlyje esančius ryšius. Tačiau ji negali priversti tarpinio serverio laikyti TCP ryšio atviro neribotą laiką.

Kita pusė gali uždaryti neaktyvų ryšį, tinklo kelias gali išnykti, o vėlesniam perdavimui gali prireikti kito maršruto ar tunelio. Pakartotinis naudojimas yra kliento optimizavimas, priklausantis nuo tų sąlygų, o ne prieinamumo garantija.

Kad darbas kartotųsi per vieną tarpinio serverio taisyklę, palaikykite gyvą atitinkamą rankenėlę arba multi-handle ryšių podėlį ir venkite parinkčių, kurios tyčia prašo naujų ryšių arba draudžia pakartotinį naudojimą, nebent užduočiai jų reikia. Patikrinkite tikrąjį perdavimo elgesį prieš manydami, kad trumpesnė antroji užklausa įrodo pakartotinį naudojimą.

Būkite atsargūs su senais PHP pavyzdžiais, teigiančiais, kad ryšys lieka atviras „iki curl_close“. PHP dokumentuoja, kad curl_close() nuo PHP 8.0 neturi jokio poveikio ir nuo PHP 8.5 yra pasenusi. Išteklių nuosavybė ir objektų gyvavimo trukmė turi būti suprantami jūsų diegiamoje PHP versijoje.

Laikmatis, siunčiantis pasikartojančias užklausas, kad tarpinis serveris išliktų šiltas, prideda srauto ir vis tiek negali sutrukdyti nuotoliniam galiniam taškui užsidaryti. Verčiau rinkitės įprastą ryšių valdymą, apribotas užklausas ir aiškias pakartojimo taisykles, o ne pažadą, kad vienas tarpinio serverio ryšys visada išliks.

Susiję straipsniai