CFStream-proxyeigenschappen hangen af van het streamtype
Kies de HTTP- of SOCKS-eigenschap op basis van de protocolondersteuning van de stream in een bestaande CFStream-toepassing.
Kies in een toepassing die CFStream-code onderhoudt de proxyeigenschap op basis van het soort stream dat wordt geconfigureerd. Een HTTP-verzoekstream heeft protocolafhandeling die een gewone socketstream niet louter uit zijn eigenschappenwoordenboek krijgt.
| Verbinding die wordt opgebouwd | Gedocumenteerde configuratie |
|---|---|
| HTTP CFStream via een HTTP-proxy | kCFStreamPropertyHTTPProxy |
| CFStream via een SOCKS-proxy | kCFStreamPropertySOCKSProxy |
Apple beschrijft de HTTP-eigenschap specifiek als het configureren van een HTTP CFStream. Zo'n stream kan worden gemaakt op basis van een CFHTTPMessage-verzoek met CFReadStreamCreateForHTTPRequest. Het openen van die stream serialiseert en verstuurt het HTTP-verzoek.
De SOCKS-eigenschap accepteert een CFDictionary met ten minste de sleutels voor host en poort van de SOCKS-proxy. Het is de bijbehorende openbare eigenschap voor SOCKS-afhandeling op een CFStream. Voor een toegestane openbare TCP-test zonder proxyreferenties biedt de SOCKS-proxylijst kandidaatwaarden voor host en poort voor dat woordenboek. Stem af op het protocol dat de stream ondersteunt en verifieer toegang tot de werkelijke bestemming en poort.
Pas de gekozen eigenschap toe voordat de stream wordt geopend en controleer het Booleaanse resultaat van de aanroep die de eigenschap instelt. Een geweigerde eigenschap kan erop wijzen dat de stream of de waarde de gevraagde configuratie niet ondersteunt.
Gebruik voor willekeurig TCP-verkeer via een HTTP-proxy een connector die de vereiste CONNECT-onderhandeling uitvoert. Die onderhandeling is protocolwerk; het aanmaken van een ruwe stream naar alleen het adres van de proxy heeft die niet uitgevoerd.