CFStream 프록시 속성은 스트림 유형에 따라 달라집니다
기존 CFStream 애플리케이션에서는 스트림의 프로토콜 지원에 따라 HTTP 또는 SOCKS 속성을 선택하십시오.
CFStream 코드를 유지 관리하는 애플리케이션에서는 구성하는 스트림의 종류에 따라 프록시 속성을 선택합니다. HTTP 요청 스트림에는 일반 소켓 스트림이 속성 사전만으로는 얻지 못하는 프로토콜 처리가 있습니다.
| 구성 중인 연결 | 문서화된 구성 |
|---|---|
| HTTP 프록시를 통한 HTTP CFStream | kCFStreamPropertyHTTPProxy |
| SOCKS 프록시를 통한 CFStream | kCFStreamPropertySOCKSProxy |
Apple은 HTTP 속성을 특히 HTTP CFStream을 구성하는 것으로 설명합니다. 이러한 스트림은 CFHTTPMessage 요청에서 CFReadStreamCreateForHTTPRequest으로 만들 수 있습니다. 그 스트림을 열면 HTTP 요청이 직렬화되어 전송됩니다.
SOCKS 속성은 최소한 SOCKS 프록시의 호스트와 포트 키를 포함하는 CFDictionary를 받습니다. CFStream에서 SOCKS 처리를 위한 해당 공개 속성입니다. 프록시 자격 증명 없이 허용되는 공개 TCP 테스트를 위해 SOCKS 프록시 목록이 해당 사전에 넣을 후보 호스트와 포트 값을 제공합니다. 스트림이 지원하는 프로토콜과 맞추고 실제 대상과 포트에 대한 접근을 확인하십시오.
선택한 속성은 스트림을 열기 전에 적용하고 속성 설정 호출의 불리언 결과를 확인하십시오. 거부된 속성은 스트림이나 값이 요청된 구성을 지원하지 않음을 나타낼 수 있습니다.
HTTP 프록시를 통한 임의의 TCP 트래픽에는 필요한 CONNECT 협상을 수행하는 커넥터를 사용하십시오. 그 협상은 프로토콜 작업이며, 프록시 주소로 원시 스트림을 만드는 것만으로는 수행되지 않습니다.