Прокси свойствата на CFStream зависят от типа на потока
Изберете свойството HTTP или SOCKS според поддръжката на протокола на потока в съществуващо приложение с CFStream.
В приложение, което поддържа код с CFStream, изберете прокси свойството според вида на конфигурирания поток. Потокът за HTTP заявка има обработка на протокола, която обикновен сокет поток не получава само от своя речник със свойства.
| Връзка, която се изгражда | Документирана конфигурация |
|---|---|
| HTTP CFStream през HTTP прокси | kCFStreamPropertyHTTPProxy |
| CFStream през SOCKS прокси | kCFStreamPropertySOCKSProxy |
Apple описва свойството HTTP конкретно като конфигуриране на HTTP CFStream. Такъв поток може да се създаде от заявка CFHTTPMessage с CFReadStreamCreateForHTTPRequest. Отварянето на този поток сериализира и изпраща HTTP заявката.
Свойството SOCKS приема CFDictionary, съдържащ поне ключовете за хост и порт на SOCKS прокси. Това е съответното публично свойство за работа със SOCKS върху CFStream. За разрешен публичен TCP тест без прокси идентификационни данни списъкът със SOCKS прокси предлага кандидат стойности за хост и порт за този речник. Съгласувайте поддържания от потока протокол и проверете достъпа до действителната дестинация и порт.
Приложете избраното свойство, преди да отворите потока, и проверете булевия резултат от извикването за задаване на свойството. Отхвърлено свойство може да показва, че потокът или стойността не поддържат заявената конфигурация.
За произволен TCP трафик през HTTP прокси използвайте конектор, който извършва необходимото CONNECT договаряне. Това договаряне е протоколна работа; създаването на суров поток само към адреса на прокси не го извършва.