Un callback numit „will connect” nu este dovada că CFStream mai poate fi configurat. Contractul CFReadStreamSetProperty al Apple spune că trebuie presupus că proprietățile se stabilesc înainte de deschidere, dacă documentația lor proprie nu afirmă altceva.

Pentru o integrare de flux existentă, păstrați secvența împreună: creați fluxul/perechea, construiți dicționarul SOCKS corect tipizat, stabiliți proprietatea potrivită și verificați rezultatul său boolean, apoi înregistrați evenimente și începeți deschiderea.

Un rezultat false este o eroare de configurare, nu o rută instalată. Verificați tipul fluxului, cheia proprietății, tipurile valorilor dicționarului și ciclul de viață înainte de a continua.

Într-o aranjare bazată pe evenimente, deschiderea poate începe fără ca negocierea să se fi încheiat. Observați evenimentele de stare și de eroare înainte de a considera conexiunea utilizabilă.

Dacă o altă bibliotecă deține fluxul, folosiți cârligul ei documentat de dinainte de deschidere. Un callback care sosește doar mai târziu poate fi punctul de integrare greșit. Schimbarea proprietăților pe un flux deja deschis nu poate muta acea conexiune existentă pe SOCKS.

Articole similare