늦게 설정한 CFStream SOCKS 속성이 거부될 수 있는 이유
열기 전에 구성 가능한 스트림 속성을 적용하고, 수용 여부를 확인하며, 스트림 시작과 프록시 협상 완료를 구분하십시오.
“will connect”라는 콜백은 CFStream이 여전히 구성 가능하다는 증거가 아닙니다. Apple의 CFReadStreamSetProperty 계약에 따르면 자체 문서에서 달리 명시하지 않는 한 속성은 열기 전에 설정해야 한다고 가정해야 합니다.
기존 스트림 통합에서는 순서를 함께 유지하십시오. 스트림/쌍을 만들고, 올바르게 형 지정된 SOCKS 사전을 구성하고, 적절한 속성을 설정하고 그 Boolean 결과를 확인한 다음 이벤트를 등록하고 열기를 시작합니다.
false 결과는 구성 실패이지 설치된 경로가 아닙니다. 계속하기 전에 스트림 유형, 속성 키, 사전 값 유형 및 수명 주기를 확인하십시오.
이벤트 기반 구성에서는 협상이 끝나지 않아도 열기가 시작될 수 있습니다. 연결을 사용 가능하다고 보기 전에 상태 및 오류 이벤트를 관찰하십시오.
다른 라이브러리가 스트림을 소유한다면 그 라이브러리의 문서화된 열기 전 훅을 사용하십시오. 나중에만 도착하는 콜백은 잘못된 통합 지점일 수 있습니다. 이미 열린 스트림의 속성을 변경해도 기존 연결을 SOCKS로 옮길 수는 없습니다.