Bakit Maaaring Tanggihan ang Isang Huling CFStream SOCKS Property
Ilapat ang mga naikokonpigurang property ng stream bago magbukas, suriin ang pagtanggap at ihiwalay ang pagsisimula ng stream sa pagkumpleto ng negosasyon sa proxy.
Ang isang callback na tinatawag na “will connect” ay hindi patunay na ang CFStream ay naikokonpigura pa rin. Sinasabi ng kontrata ng CFReadStreamSetProperty ng Apple na dapat ipagpalagay na ang mga property ay itinatakda bago magbukas, maliban kung ang sarili nilang dokumentasyon ay nagsasabi ng iba.
Para sa umiiral na integrasyon ng stream, panatilihing magkakasama ang pagkakasunod-sunod: likhain ang stream/pares, buuin ang wastong naka-type na diksyunaryo ng SOCKS, itakda ang angkop na property at suriin ang Boolean na resulta nito, pagkatapos ay irehistro ang mga event at simulan ang pagbukas.
Ang resultang false ay kabiguan sa konpigurasyon, hindi isang naka-install na ruta. Suriin ang uri ng stream, susi ng property, mga uri ng halaga ng diksyunaryo at lifecycle bago magpatuloy.
Sa isang kaayusang hinihimok ng mga event, maaaring magsimula ang pagbukas nang hindi pa tapos ang negosasyon. Obserbahan ang mga event ng status at error bago ituring na magagamit ang koneksyon.
Kung ibang library ang may-ari ng stream, gamitin ang dokumentadong hook nito bago magbukas. Ang isang callback na dumarating lamang sa huli ay maaaring maling punto ng integrasyon. Ang pagbabago ng mga property sa isang bukas nang stream ay hindi maaaring ilipat ang umiiral na koneksyon na iyon sa SOCKS.