Le proprietà proxy di CFStream dipendono dal tipo di flusso
Scegliere la proprietà HTTP o SOCKS in base al supporto del protocollo del flusso in un'applicazione CFStream esistente.
In un'applicazione che mantiene codice CFStream, scegliere la proprietà proxy in base al tipo di flusso configurato. Un flusso di richiesta HTTP dispone di una gestione del protocollo che un semplice flusso socket non ottiene solo dal proprio dizionario delle proprietà.
| Connessione in fase di creazione | Configurazione documentata |
|---|---|
| HTTP CFStream tramite un proxy HTTP | kCFStreamPropertyHTTPProxy |
| CFStream tramite un proxy SOCKS | kCFStreamPropertySOCKSProxy |
Apple descrive la proprietà HTTP specificamente come configurazione di un HTTP CFStream. Tale flusso può essere creato da una richiesta CFHTTPMessage con CFReadStreamCreateForHTTPRequest. L'apertura di quel flusso serializza e invia la richiesta HTTP.
La proprietà SOCKS accetta un CFDictionary che contiene almeno le chiavi di host e porta del proxy SOCKS. È la proprietà pubblica corrispondente per la gestione SOCKS su un CFStream. Per un test TCP pubblico consentito senza credenziali proxy, l'elenco di proxy SOCKS offre valori candidati di host e porta per quel dizionario. Far corrispondere il protocollo supportato dal flusso e verificare l'accesso alla destinazione e alla porta effettive.
Applicare la proprietà scelta prima di aprire il flusso e controllare il risultato booleano della chiamata di impostazione della proprietà. Una proprietà rifiutata può indicare che il flusso o il valore non supportano la configurazione richiesta.
Per traffico TCP arbitrario tramite un proxy HTTP, usare un connettore che esegue la negoziazione CONNECT necessaria. Tale negoziazione è lavoro di protocollo; creare un flusso grezzo solo verso l'indirizzo del proxy non l'ha eseguita.