Varför en sent satt CFStream SOCKS-egenskap kan avvisas
Tillämpa konfigurerbara strömegenskaper före öppning, kontrollera acceptans och skilj på att starta strömmen och att slutföra proxyförhandlingen.
En återanrop kallad ”will connect” är inte bevis på att CFStream fortfarande är konfigurerbar. Apples CFReadStreamSetProperty-kontrakt säger att man måste utgå från att egenskaper sätts före öppning, om inte deras egen dokumentation säger annat.
För en befintlig strömintegrering, håll sekvensen samman: skapa strömmen/paret, bygg den korrekt typade SOCKS-ordboken, sätt den aktuella egenskapen och kontrollera dess booleska resultat, registrera sedan händelser och börja öppna.
Ett false-resultat är ett konfigurationsfel, inte en installerad rutt. Kontrollera strömtyp, egenskapsnyckel, ordbokens värdetyper och livscykel innan du fortsätter.
I ett händelsestyrt arrangemang kan öppningen börja utan att förhandlingen är klar. Observera status- och felhändelser innan du anser anslutningen användbar.
Om ett annat bibliotek äger strömmen, använd dess dokumenterade före-öppning-krok. Ett återanrop som först kommer senare kan vara fel integrationspunkt. Att ändra egenskaper på en redan öppen ström kan inte flytta den befintliga anslutningen till SOCKS.