Прокси өгөгдөл хүргэдэг. Таны бичих callback буруу утга буцаана. Дараа нь libcurl зогсох бөгөөд эргэн тойрны код өөр нэг «проксигоор татах алдаа» мэдээлнэ.

Callback нь хэдэн хүлээн авсан байтыг бодитоор боловсруулснаа мэдээлэх ёстой. Өөр тоо буцаах нь алдааг илтгэнэ. Зориуд блоклож буй бичих хүлээн авагчийн хувьд хэсэг нь иймэрхүү байж болно:

curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:8080');
curl_setopt($handle, CURLOPT_WRITEFUNCTION,
    function ($handle, $chunk) use ($sink) {
        $written = fwrite($sink, $chunk);
        return $written === false ? 0 : $written;
    }
);

Энэ нь одоо байгаа програм нь handle болон бичих хүлээн авагчийг эзэмшдэг гэж үзнэ. Амжилтгүй эсвэл богино бичилт бүх хэсгийг хадгалсан гэж чимээгүй мэдэгдэхийн оронд зогсоно. Блоклохгүй хүлээн авагчид тохирох буфер болон түр зогсоох/үргэлжлүүлэх загвар хэрэгтэй; жижиг хэсэг үүнийг өгөхгүй.

Харагдах тэмдэгт биш, байтыг тоол. Өгөгдөл хоёртын эсвэл олон байтын текстийн дарааллын хэсэг байж болно. Нэг callback нь заавал нэг мөр, нэг JSON баримт эсвэл үйлчилгээнээс ирсэн нэг мессеж биш.

Инкрементал задлан шинжилгээ нь callback-уудын хооронд өөрийн төлөв шаарддаг. Харин эсрэгээр, хэсэг бүрийг дуустал хуримтлуулах нь жижиг хязгаарлагдмал хариултад зөв байж болох ч том эсвэл төгсгөлгүй урсгалд санах ойн бодлого болохгүй.

Дамжуулалтын үр дүн болон callback-ийн алдааны нотолгоог хадгал. Хүчинтэй прокси зам байгуулагдсаны дараа локал дискийн алдаа эсвэл задлагчийн зогсолт гарч болно. Хэрэв угтварын дараа зогсоохыг хүсвэл, тэр зориуд callback зогсолтыг тусад нь тэмдэглэ. Прокси хаягийг солих нь өгөгдөл хүлээн авахаа больсон хүлээн авагчийг засаж чадахгүй.

Холбоотой нийтлэлүүд