Vetitë e përfaqësuesit të CFStream varen nga lloji i rrjedhës
Zgjidhni vetinë HTTP ose SOCKS sipas mbështetjes së protokollit të rrjedhës në një aplikacion CFStream ekzistues.
Në një aplikacion që mirëmban kod CFStream, zgjidhni vetinë e përfaqësuesit sipas llojit të rrjedhës që konfigurohet. Një rrjedhë kërkese HTTP ka trajtim protokolli që një rrjedhë e thjeshtë soketi nuk e merr vetëm nga fjalori i vetive të saj.
| Lidhja që po ndërtohet | Konfigurimi i dokumentuar |
|---|---|
| HTTP CFStream përmes një përfaqësuesi HTTP | kCFStreamPropertyHTTPProxy |
| CFStream përmes një përfaqësuesi SOCKS | kCFStreamPropertySOCKSProxy |
Apple e përshkruan vetinë HTTP posaçërisht si konfigurim të një HTTP CFStream. Një rrjedhë e tillë mund të krijohet nga një kërkesë CFHTTPMessage me CFReadStreamCreateForHTTPRequest. Hapja e asaj rrjedhe serializon dhe dërgon kërkesën HTTP.
Vetia SOCKS pranon një CFDictionary që përmban të paktën çelësat e strehuesit dhe portës së përfaqësuesit SOCKS. Është vetia publike përkatëse për trajtimin SOCKS në një CFStream. Për një provë publike TCP të lejuar pa kredenciale përfaqësuesi, lista e përfaqësuesve SOCKS ofron vlera kandidate strehuesi dhe porte për atë fjalor. Përputhni protokollin e mbështetur nga rrjedha dhe verifikoni aksesin te destinacioni dhe porta reale.
Zbatojeni vetinë e zgjedhur përpara se të hapni rrjedhën dhe kontrolloni rezultatin Boolean të thirrjes për caktimin e vetisë. Një veti e refuzuar mund të tregojë se rrjedha ose vlera nuk e mbështet konfigurimin e kërkuar.
Për trafik TCP arbitrar përmes një përfaqësuesi HTTP, përdorni një lidhës që kryen negociatën CONNECT të nevojshme. Ajo negociatë është punë protokolli; krijimi i një rrjedhe të papërpunuar vetëm drejt adresës së përfaqësuesit nuk e ka kryer atë.