CFStream-proxyegenskaper beror på strömtypen
Välj HTTP- eller SOCKS-egenskapen efter strömmens protokollstöd i en befintlig CFStream-applikation.
I en applikation som underhåller CFStream-kod väljer du proxyegenskapen efter vilken typ av ström som konfigureras. En HTTP-förfrågningsström har protokollhantering som en vanlig socketström inte får enbart från sin egenskapsordbok.
| Anslutningen som byggs | Dokumenterad konfiguration |
|---|---|
| HTTP CFStream via en HTTP-proxy | kCFStreamPropertyHTTPProxy |
| CFStream via en SOCKS-proxy | kCFStreamPropertySOCKSProxy |
Apple beskriver HTTP-egenskapen specifikt som att konfigurera en HTTP CFStream. En sådan ström kan skapas från en CFHTTPMessage-förfrågan med CFReadStreamCreateForHTTPRequest. Att öppna strömmen serialiserar och skickar HTTP-förfrågan.
SOCKS-egenskapen tar emot en CFDictionary som innehåller åtminstone nycklarna för SOCKS-proxyns värd och port. Det är den motsvarande offentliga egenskapen för SOCKS-hantering på en CFStream. För ett tillåtet offentligt TCP-test utan proxyuppgifter erbjuder SOCKS-proxylistan kandidatvärden för värd och port till den ordboken. Anpassa till protokollet som strömmen stöder och verifiera åtkomst till den faktiska destinationen och porten.
Använd den valda egenskapen innan strömmen öppnas och kontrollera det booleska resultatet från anropet som ställer in egenskapen. En avvisad egenskap kan betyda att strömmen eller värdet inte stöder den begärda konfigurationen.
För godtycklig TCP-trafik via en HTTP-proxy använder du en anslutning som utför den nödvändiga CONNECT-förhandlingen. Den förhandlingen är protokollarbete; att skapa en rå ström bara till proxyns adress har inte utfört den.