Proprietățile de proxy CFStream depind de tipul fluxului
Alegeți proprietatea HTTP sau SOCKS în funcție de suportul de protocol al fluxului într-o aplicație CFStream existentă.
Într-o aplicație care întreține cod CFStream, alegeți proprietatea de proxy în funcție de tipul fluxului configurat. Un flux de cerere HTTP are o prelucrare de protocol pe care un flux de socket simplu nu o obține doar din dicționarul său de proprietăți.
| Conexiunea care se construiește | Configurație documentată |
|---|---|
| HTTP CFStream printr-un proxy HTTP | kCFStreamPropertyHTTPProxy |
| CFStream printr-un proxy SOCKS | kCFStreamPropertySOCKSProxy |
Apple descrie proprietatea HTTP în mod specific ca configurare a unui HTTP CFStream. Un astfel de flux poate fi creat dintr-o cerere CFHTTPMessage cu CFReadStreamCreateForHTTPRequest. Deschiderea acelui flux serializează și trimite cererea HTTP.
Proprietatea SOCKS acceptă un CFDictionary care conține cel puțin cheile de gazdă și port ale proxy-ului SOCKS. Este proprietatea publică corespunzătoare pentru prelucrarea SOCKS pe un CFStream. Pentru un test TCP public permis fără acreditări de proxy, lista de proxy SOCKS oferă valori candidate de gazdă și port pentru acel dicționar. Potriviți protocolul acceptat de flux și verificați accesul la destinația și portul reale.
Aplicați proprietatea aleasă înainte de a deschide fluxul și verificați rezultatul boolean al apelului de setare a proprietății. O proprietate respinsă poate indica faptul că fluxul sau valoarea nu acceptă configurația cerută.
Pentru trafic TCP arbitrar printr-un proxy HTTP, folosiți un conector care efectuează negocierea CONNECT necesară. Acea negociere este muncă de protocol; crearea unui flux brut doar către adresa proxy-ului nu a efectuat-o.