“will connect”라는 콜백은 CFStream이 여전히 구성 가능하다는 증거가 아닙니다. Apple의 CFReadStreamSetProperty 계약에 따르면 자체 문서에서 달리 명시하지 않는 한 속성은 열기 전에 설정해야 한다고 가정해야 합니다.

기존 스트림 통합에서는 순서를 함께 유지하십시오. 스트림/쌍을 만들고, 올바르게 형 지정된 SOCKS 사전을 구성하고, 적절한 속성을 설정하고 그 Boolean 결과를 확인한 다음 이벤트를 등록하고 열기를 시작합니다.

false 결과는 구성 실패이지 설치된 경로가 아닙니다. 계속하기 전에 스트림 유형, 속성 키, 사전 값 유형 및 수명 주기를 확인하십시오.

이벤트 기반 구성에서는 협상이 끝나지 않아도 열기가 시작될 수 있습니다. 연결을 사용 가능하다고 보기 전에 상태 및 오류 이벤트를 관찰하십시오.

다른 라이브러리가 스트림을 소유한다면 그 라이브러리의 문서화된 열기 전 훅을 사용하십시오. 나중에만 도착하는 콜백은 잘못된 통합 지점일 수 있습니다. 이미 열린 스트림의 속성을 변경해도 기존 연결을 SOCKS로 옮길 수는 없습니다.

관련 글