Unha devolución de chamada chamada “will connect” non é proba de que o CFStream siga sendo configurable. O contrato de CFReadStreamSetProperty de Apple indica que hai que supoñer que as propiedades deben establecerse antes de abrir, salvo que a súa propia documentación indique o contrario.

Para unha integración de fluxo existente, manteña a secuencia xunta: cree o fluxo/par, construa o dicionario SOCKS coa tipaxe correcta, estabeleza a propiedade axeitada e comprobe o seu resultado booleano; despois rexistre os eventos e comece a abrir.

Un resultado false é un fallo de configuración, non unha ruta instalada. Comprobe o tipo de fluxo, a clave da propiedade, os tipos de valor do dicionario e o ciclo de vida antes de continuar.

Nunha disposición dirixida por eventos, a apertura pode comezar sen rematar a negociación. Observe os eventos de estado e de erro antes de considerar a conexión utilizábel.

Se outra biblioteca é dona do fluxo, use o seu enganche documentado previo á apertura. Unha devolución de chamada que só chega máis tarde pode ser o punto de integración incorrecto. Cambiar propiedades nun fluxo xa aberto non pode mover esa conexión existente a SOCKS.

Artigos relacionados