Дополнения сокета CFStream
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CFNetwork
Objective C
@import CFNetwork;
Этот документ описывает CFStream функции для работы с сокетами. Это - часть CFSocketStream API.
-
Создает читаемые и перезаписываемые потоки, подключенные к данному
CFHostобъект.Объявление
Swift
func CFStreamCreatePairWithSocketToCFHost(_alloc: CFAllocator!, _host: CFHost!, _port: Int32, _readStream: UnsafeMutablePointer<Unmanaged<CFReadStream>?>, _writeStream: UnsafeMutablePointer<Unmanaged<CFWriteStream>?>)Objective C
void CFStreamCreatePairWithSocketToCFHost ( CFAllocatorRef alloc, CFHostRef host, SInt32 port, CFReadStreamRef *readStream, CFWriteStreamRef *writeStream );Параметры
allocСредство выделения для использования для выделения памяти для
CFReadStreamиCFWriteStreamобъекты. ПередачаNULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.hostA
CFHostвозразите, с которым подключены потоки. Если не разрешено, узел будет разрешен до соединения.portНомер порта TCP, с которым должны соединиться потоки сокета.
readStreamПо возврату, содержит a
CFReadStreamобъект соединился с узломhostна портуport, илиNULLесли существует отказ во время создания. Если Вы передаетеNULL, функция не создаст читаемый поток. Владение соблюдает Создать Правило.writeStreamПо возврату, содержит a
CFWriteStreamобъект соединился с узломhostна портуport, илиNULLесли существует отказ во время создания. Если Вы передаетеNULL, функция не создаст перезаписываемый поток. Владение соблюдает Создать Правило.Обсуждение
Потоки не создают сокет или подключение к указанному узлу, пока Вы не открываете один из потоков.
Большинство свойств совместно используется обоими потоками. Установка совместно используемого свойства для одного потока автоматически устанавливает свойство для другого.
Оператор импорта
Objective C
@import CFNetwork;Swift
import CFNetworkДоступность
Доступный в iOS 2.0 и позже.
-
Создает пару потоков для CFNetService.
Объявление
Swift
func CFStreamCreatePairWithSocketToNetService(_alloc: CFAllocator!, _service: CFNetService!, _readstream: UnsafeMutablePointer<Unmanaged<CFReadStream>?>, _writeStream: UnsafeMutablePointer<Unmanaged<CFWriteStream>?>)Objective C
void CFStreamCreatePairWithSocketToNetService ( CFAllocatorRef alloc, CFNetServiceRef service, CFReadStreamRef *readStream, CFWriteStreamRef *writeStream );Параметры
allocСредство выделения для использования для выделения памяти для
CFReadStreamиCFWriteStreamобъекты. ПередачаNULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.serviceСсылка на
CFNetServiceс которым должны быть подключены потоки. Если служба не будет разрешена, то служба будет разрешена, прежде чем потоки соединяются.readstreamПо возврату, содержит a
CFReadStreamобъект соединился со службой, указаннойservice, илиNULLесли существует отказ во время создания. Если Вы передаетеNULL, функция не создаст читаемый поток. Владение соблюдает Создать Правило.writeStreamПо возврату, содержит a
CFWriteStreamобъект соединился со службой, указаннойservice, илиNULLесли существует отказ во время создания. Если Вы передаетеNULL, функция не создаст перезаписываемый поток. Владение соблюдает Создать Правило.Обсуждение
Потоки не создают сокет, разрешают службу или соединяются с узлом службы, пока Вы не открываете один из потоков.
Большинство свойств совместно используется обоими потоками. Установка совместно используемого свойства для одного потока автоматически устанавливает свойство для другого.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;Swift
import CFNetworkДоступность
Доступный в iOS 2.0 и позже.
-
Эта функция вкладывает коды ошибки
kCFStreamErrorDomainSOCKSдомен отCFStreamErrorвозвращенный операцией с потоками.Объявление
Swift
func CFSocketStreamSOCKSGetError(_error: UnsafePointer<CFStreamError>) -> Int32Objective C
SInt32 CFSocketStreamSOCKSGetError ( const CFStreamError *error );Параметры
errorОшибочное значение для декодирования.
Обсуждение
Коды ошибки в
kCFStreamErrorDomainSOCKSдомен может прибыть из многократных частей стека протоколов, многие из которых определяют свои собственные ошибочные значения как часть внешних спецификаций, такие как Спецификация HTTP.Избегать беспорядка от конфликтных кодов ошибки, кодов ошибки в
kCFStreamErrorDomainSOCKSдомен содержит две части: подобласть, говорящая, какая часть стека протоколов генерировала ошибку и сам код ошибки.Вызов
CFSocketStreamSOCKSGetErrorвозвращает сам код ошибки, который должен быть интерпретирован в контексте результата вызова кCFSocketStreamSOCKSGetErrorSubdomain. Возможные возвращаемые значения (вне подпроблемно-ориентированных значений, таких как версии клиента и коды Ошибки HTTP) перечислены по Ошибкам CFStream.Оператор импорта
Objective C
@import CFNetwork;Swift
import CFNetworkДоступность
Доступный в iOS 2.0 и позже.
-
Связали ошибочную подобласть с ошибками в
kCFStreamErrorDomainSOCKSдомен отCFStreamErrorвозвращенный операцией с потоками.Объявление
Swift
func CFSocketStreamSOCKSGetErrorSubdomain(_error: UnsafePointer<CFStreamError>) -> Int32Objective C
SInt32 CFSocketStreamSOCKSGetErrorSubdomain ( const CFStreamError *error );Параметры
errorОшибочное значение для декодирования.
Обсуждение
Коды ошибки в
kCFStreamErrorDomainSOCKSдомен может прибыть из многократных частей стека протоколов, многие из которых определяют свои собственные ошибочные значения как часть внешних спецификаций, такие как Спецификация HTTP.Избегать беспорядка от конфликтных кодов ошибки, кодов ошибки в
kCFStreamErrorDomainSOCKSдомен содержит две части: подобласть, говорящая, какая часть стека протоколов генерировала ошибку и сам код ошибки.Вызов
CFSocketStreamSOCKSGetErrorSubdomainвозвращает идентификатор, говорящий, какой уровень стека протоколов произвел ошибку. Возможные значения перечислены в ошибочных Подобластях. С этой информацией можно интерпретировать коды ошибки, возвращенныеCFSocketStreamSOCKSGetError.Оператор импорта
Objective C
@import CFNetwork;Swift
import CFNetworkДоступность
Доступный в iOS 2.0 и позже.
-
Константы для
CFStreamключи свойстваОбъявление
Swift
let kCFStreamPropertyShouldCloseNativeSocket: CFString! let kCFStreamPropertySocketNativeHandle: CFString! let kCFStreamPropertySocketSecurityLevel: CFString! let kCFStreamPropertySSLPeerTrust: CFString! let kCFStreamPropertySSLContext: CFString! let kCFStreamPropertySOCKSProxy: CFString! let kCFStreamPropertySSLSettings: CFString! let kCFStreamPropertyProxyLocalBypass: CFString! let kCFStreamPropertySocketRemoteHost: CFString! let kCFStreamPropertySocketRemoteNetService: CFString! let kCFStreamNetworkServiceType: CFString! let kCFStreamPropertyConnectionIsCellular: CFString! let kCFStreamPropertyNoCellular: CFString!Objective C
const CFStringRef kCFStreamPropertyShouldCloseNativeSocket; const CFStringRef kCFStreamPropertySocketSecurityLevel; const CFStringRef kCFStreamPropertySOCKSProxy; const CFStringRef kCFStreamPropertySSLPeerCertificates; const CFStringRef kCFStreamPropertySSLPeerTrust; const CFStringRef kCFStreamPropertySSLSettings; const CFStringRef kCFStreamPropertySSLContext; const CFStringRef kCFStreamPropertyProxyLocalByPass; const CFStringRef kCFStreamPropertySocketRemoteHost; const CFStringRef kCFStreamPropertySocketRemoteNetService; const CFStringRef kCFStreamNetworkServiceType; const CFStringRef kCFStreamPropertyConnectionIsCellular; const CFStringRef kCFStreamPropertyNoCellular;Константы
-
kCFStreamPropertyShouldCloseNativeSocketЕсли ключ свойства Close Native Socket.
Если установлено в
kCFBooleanTrue, когда поток будет выпущен, поток закроет и выпустит базовый собственный сокет. Если установлено вkCFBooleanFalse, когда поток будет выпущен, поток не закроет и выпустит базовый собственный сокет. Если поток создается с собственным сокетом, значение по умолчанию этого свойстваkCFBooleanFalse. Это свойство только доступно для потоков сокета. Это может быть установлено путем вызоваCFReadStreamSetPropertyиCFWriteStreamSetProperty, и это может быть скопированоCFReadStreamCopyPropertyиCFWriteStreamCopyProperty.Доступный в iOS 2.0 и позже.
-
kCFStreamPropertySocketNativeHandleКлюч свойства Native Handle сокета.
Причины
CFReadStreamCopyPropertyилиCFWriteStreamCopyPropertyвозвратитьсяCFDataобъект, содержащий собственный дескриптор для потока сокета. Это свойство только доступно для потоков сокета.Доступный в iOS 2.0 и позже.
-
kCFStreamPropertySocketSecurityLevelКлюч свойства Security Level сокета.
См. Константы Уровня безопасности Сокета CFStream для определенных констант уровня безопасности для использования.
Доступный в iOS 2.0 и позже.
-
kCFStreamPropertySSLPeerCertificatesКлюч свойства SSL Peer Certificates для операций копии, возвращающих a
CFArrayобъектный содержащийSecCertificateRefобъекты.Для получения дополнительной информации посмотрите
SSLGetPeerCertificatesвSecurity/SecureTransport.h.Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 4.0.
-
kCFStreamPropertySSLPeerTrustРавноправный ключ Управляемой по доверенности собственности SSL для операций копии, возвращающих a
SecTrustRefобъект, содержащий результат квитирования SSL.Для получения дополнительной информации посмотрите
SSLCopyPeerTrustвSecurity/SecureTransport.h.Доступный в iOS 2.0 и позже.
-
kCFStreamPropertySSLContextSSLContextRefобъект, используемый для операций чтения и операций записи на потоке.Прежде, чем открыть поток, можно скопировать объект с этого свойства и сконфигурировать его с помощью Безопасного Транспортного API. Можно также установить это свойство для указания нового
SSLContextRefдля потока. Поведение зависит от того, был ли поток открыт и от того, связан ли контекст SSL с потоком, следующим образом:Если поток не был открыт, указанный объект заменяет любой существующий контекст и используется в начальном потоковом квитировании, когда открыто соединение.
Если поток был открыт без включенного SSL, устанавливание этого свойства инициирует квитирование SSL по существующему сокету.
После того, как начальное квитирование SSL происходит, изменение объекта контекста не поддерживается.
Если словарь настроек SSL установлен для
kCFStreamPropertySSLSettingsключ,SSLContextRefобъект создается внутренне и конфигурируется на основе того словаря. Однако, еслиSSLContextRefобъект установлен впоследствии, его конфигурация имеет приоритет по ранее сконфигурированному контексту.Доступный в iOS 5.0 и позже.
-
kCFStreamPropertySOCKSProxySOCKS проксирует ключ свойства.
Установить a
CFStreamвозразите, чтобы использовать прокси SOCKS, вызватьCFReadStreamSetPropertyилиCFWriteStreamSetPropertyсо свойством называют набор кkCFStreamPropertySOCKSProxyи его набор значений к aCFDictionaryналичие объекта в минимуме akCFStreamPropertySOCKSProxyHostключ и akCFStreamPropertySOCKSProxyPortключ. Для получения информации об этих ключах см. Прокси SOCKS CFStream Ключевые Константы. SystemConfiguration возвращает CFDictionary для прокси SOCKS, который применим без модификации.Доступный в iOS 2.0 и позже.
-
kCFStreamPropertySSLSettingsКлюч свойства SSL Settings для операций присвоения.
Значение ключа является a
CFDictionaryобъект, содержащий настройки безопасности. Для получения информации о ключах и значениях словаря, см. Свойство CFStream Константы Настроек SSL. По умолчанию нет никаких настроек безопасности.Доступный в iOS 2.0 и позже.
-
kCFStreamPropertyProxyLocalBypassПроксируйте Локальный ключ свойства Bypass.
Значение ключа
CFBooleanвозразите, чье значение указывает, должны ли локальные имена хоста подвергнуться для проксирования обработки.Доступный в iOS 2.0 и позже.
-
kCFStreamPropertySocketRemoteHostЗначение ключа является a
CFHostRefдля удаленного узла, если это известно. В противном случае его значениеNULL.Доступный в iOS 2.0 и позже.
-
kCFStreamPropertySocketRemoteNetServiceЗначение ключа является a
CFNetServiceRefдля службы удаленной сети, если это известно. В противном случае его значениеNULL.Доступный в iOS 2.0 и позже.
-
kCFStreamNetworkServiceTypeТип службы для потока. Обеспечение типа службы позволяет системе должным образом обрабатывать определенные атрибуты потока, включая поведение маршрутизации и приостановки. Большинство потоков не должно устанавливать это свойство. Посмотрите
“Stream Service Types”для списка возможных значений.Доступный в iOS 4.0 и позже.
-
kCFStreamPropertyConnectionIsCellularБулево значение, указывающее, соединяется ли поток по сотовому интерфейсу (WWAN). Это - свойство только для чтения и
falseпока соединение не было установлено.Доступный в iOS 6.0 и позже.
-
kCFStreamPropertyNoCellularБулево значение, указывающее, что соединение не должно быть установлено по сотовой связи (WWAN) соединение. Это значение может быть установлено только перед открытием потока.
Доступный в iOS 5.0 и позже.
-
-
Константы для использования в a
CFDictionaryобъект, который является значениемkCFStreamPropertySSLSettingsпотоковый ключ свойства.Объявление
Swift
let kCFStreamSSLLevel: CFString! let kCFStreamSSLValidatesCertificateChain: CFString! let kCFStreamSSLPeerName: CFString! let kCFStreamSSLCertificates: CFString! let kCFStreamSSLIsServer: CFString!Objective C
const CFStringRef kCFStreamSSLLevel; const CFStringRef kCFStreamSSLAllowsExpiredCertificates; const CFStringRef kCFStreamSSLAllowsExpiredRoots; const CFStringRef kCFStreamSSLAllowsAnyRoot; const CFStringRef kCFStreamSSLValidatesCertificateChain; const CFStringRef kCFStreamSSLPeerName; const CFStringRef kCFStreamSSLCertificates; const CFStringRef kCFStreamSSLIsServer;Константы
-
kCFStreamSSLLevelКлюч свойства Security, значение которого указывает уровень безопасности потока.
По умолчанию уровень безопасности потока
kCFStreamSocketSecurityLevelNegotiatedSSL. Для других возможных значений см. Константы Уровня безопасности Сокета CFStream.Доступный в iOS 2.0 и позже.
-
kCFStreamSSLAllowsExpiredCertificatesКлюч свойства Security, значение которого указывает, позволяются ли сертификаты с истекшим сроком.
По умолчанию значение этого ключа
kCFBooleanFalse(сертификаты с истекшим сроком не позволяются).Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 4.0.
-
kCFStreamSSLAllowsExpiredRootsСвойство Security, значение которого указывает, позволяются ли корневые сертификаты с истекшим сроком.
По умолчанию значение этого ключа
kCFBooleanFalse(корневые сертификаты с истекшим сроком не позволяются).Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 4.0.
-
kCFStreamSSLAllowsAnyRootКлюч свойства Security, значение которого указывает, должны ли быть позволены корневые сертификаты.
По умолчанию значение этого ключа
kCFBooleanFalse(корневые сертификаты не позволяются).Доступный в iOS 2.0 и позже.
Осуждаемый в iOS 4.0.
-
kCFStreamSSLValidatesCertificateChainКлюч свойства Security, значение которого указывает, должна ли быть проверена цепочка сертификата.
По умолчанию значение этого ключа
kCFBooleanTrue(цепочка сертификата должна быть проверена).Доступный в iOS 2.0 и позже.
-
kCFStreamSSLPeerNameКлюч свойства Security, значение которого переопределяет имя, используемое для проверки сертификата.
По умолчанию имя хоста, использовавшееся, когда поток создавался, используется; если никакое имя хоста не использовалось, никакое равноправное имя не будет использоваться. Установите значение этого ключа к
kCFNullпредотвратить проверку имени.Доступный в iOS 2.0 и позже.
-
kCFStreamSSLCertificatesКлюч свойства Security, значение которого является CFArray SecCertificateRefs за исключением первого элемента в массиве, который является SecIdentityRef.
Для получения дополнительной информации посмотрите
SSLSetCertificate()вSecurity/SecureTransport.h.Доступный в iOS 2.0 и позже.
-
kCFStreamSSLIsServerКлюч свойства Security, значение которого указывает, должно ли соединение действовать как сервер в процессе SSL.
По умолчанию значение этого ключа
kCFBooleanFalse(соединение не должно действовать как сервер). Если значение этого ключаkCFBooleanTrue,kCFStreamSSLCertificatesключ должен содержать допустимое значение.Доступный в iOS 2.0 и позже.
Обсуждение
Это перечисление определяет константы для ключей a
CFDictionaryобъект, который является значениемkCFStreamPropertySSLSettingsключ. -
-
Указывает константы для установки протокола системы защиты для потока сокета.
Объявление
Objective C
typedef enum { kCFStreamSocketSecurityNone = 0, kCFStreamSocketSecuritySSLv2, kCFStreamSocketSecuritySSLv3, kCFStreamSocketSecuritySSLv23, kCFStreamSocketSecurityTLSv1 } CFStreamSocketSecurityProtocol;Константы
-
kCFStreamSocketSecurityNoneУказывает, что никакой протокол системы защиты не установлен для потока сокета.
Использовать
kCFStreamSocketSecurityLevelNone.Доступный в iOS 2.0 через iOS 7.1.
-
kCFStreamSocketSecuritySSLv2Указывает что версия SSL, которая будет установлена как протокол системы защиты для потока сокета.
Использовать
kCFStreamSocketSecurityLevelSSLv2.Доступный в iOS 2.0 через iOS 7.1.
-
kCFStreamSocketSecuritySSLv3Указывает, что версия 3 SSL установлена как протокол системы защиты для потока сокета.
Использовать
kCFStreamSocketSecurityLevelSSLv3.Доступный в iOS 2.0 через iOS 7.1.
-
kCFStreamSocketSecuritySSLv23Указывает, что версия 3 SSL установлена как протокол системы защиты для потоковой пары сокета. Если та версия не доступна, указывает что версия SSL, которая будет установлена как протокол системы защиты для потока сокета.
Использовать
kCFStreamSocketSecurityLevelNegotiatedSSL.Доступный в iOS 2.0 через iOS 7.1.
-
kCFStreamSocketSecurityTLSv1Указывает, что версия 1 TLS установлена как протокол системы защиты для потока сокета.
Использовать
kCFStreamSocketSecurityLevelTLSv1.Доступный в iOS 2.0 через iOS 7.1.
Обсуждение
Это перечисление определяет константы для установки протокола системы защиты для потоковой пары сокета при вызове
CFSocketStreamPairSetSecurityProtocol.Оператор импорта
Objective C
@import CFNetwork;Доступность
Доступный в iOS 2.0 через iOS 7.1.
-
-
Константы для установки уровня безопасности потока сокета.
Объявление
Swift
let kCFStreamSocketSecurityLevelNone: CFString! let kCFStreamSocketSecurityLevelSSLv2: CFString! let kCFStreamSocketSecurityLevelSSLv3: CFString! let kCFStreamSocketSecurityLevelTLSv1: CFString! let kCFStreamSocketSecurityLevelNegotiatedSSL: CFString!Objective C
const CFStringRef kCFStreamSocketSecurityLevelNone; const CFStringRef kCFStreamSocketSecurityLevelSSLv2; const CFStringRef kCFStreamSocketSecurityLevelSSLv3; const CFStringRef kCFStreamSocketSecurityLevelTLSv1; const CFStringRef kCFStreamSocketSecurityLevelNegotiatedSSL;Константы
-
kCFStreamSocketSecurityLevelNoneУказывает, что не установлен никакой уровень безопасности.
Доступный в iOS 2.0 и позже.
-
kCFStreamSocketSecurityLevelSSLv2Указывает что версия SSL, которая будет установлена как протокол системы защиты для потока сокета.
Доступный в iOS 2.0 и позже.
-
kCFStreamSocketSecurityLevelSSLv3Указывает, что версия 3 SSL установлена как протокол системы защиты для потоковой пары сокета.
Если версия 3 SSL не доступна, указывает что версия SSL, которая будет установлена как протокол системы защиты для потока сокета.
Доступный в iOS 2.0 и позже.
-
kCFStreamSocketSecurityLevelTLSv1Указывает, что версия 1 TLS установлена как протокол системы защиты для потока сокета.
Доступный в iOS 2.0 и позже.
-
kCFStreamSocketSecurityLevelNegotiatedSSLУказывает, что протокол системы защиты высшего уровня, который может быть согласован быть установленным как протокол системы защиты для потока сокета.
Доступный в iOS 2.0 и позже.
Обсуждение
Это перечисление определяет предпочтительные константы для установки протокола системы защиты для потоковой пары сокета при вызове
CFReadStreamSetPropertyилиCFWriteStreamSetProperty. -
-
Константы для прокси SOCKS
CFDictionaryключи.Объявление
Swift
let kCFStreamPropertySOCKSProxyHost: CFString! let kCFStreamPropertySOCKSProxyPort: CFString! let kCFStreamPropertySOCKSVersion: CFString! let kCFStreamSocketSOCKSVersion4: CFString! let kCFStreamSocketSOCKSVersion5: CFString! let kCFStreamPropertySOCKSUser: CFString! let kCFStreamPropertySOCKSPassword: CFString!Objective C
const CFStringRef kCFStreamPropertySOCKSProxyHost; const CFStringRef kCFStreamPropertySOCKSProxyPort; const CFStringRef kCFStreamPropertySOCKSVersion; const CFStringRef kCFStreamSocketSOCKSVersion4; const CFStringRef kCFStreamSocketSOCKSVersion5; const CFStringRef kCFStreamPropertySOCKSUser; const CFStringRef kCFStreamPropertySOCKSPassword;Константы
-
kCFStreamPropertySOCKSProxyHostПостоянный для ключа прокси-сервера SOCKS.
Этот ключ содержит объект CFString, представляющий прокси-сервер SOCKS. Определенный для соответствия
kSCPropNetProxiesSOCKSProxy.Доступный в iOS 2.0 и позже.
-
kCFStreamPropertySOCKSProxyPortПостоянный для ключа порта хоста прокси SOCKS.
Этот ключ содержит a
CFNumberRefобъект типаkCFNumberSInt32Typeчье значение представляет порт, на котором слушает прокси.Доступный в iOS 2.0 и позже.
-
kCFStreamPropertySOCKSVersionПостоянный для ключа версии SOCKS.
Его значение должно быть
kCFStreamSocketSOCKSVersion4илиkCFStreamSocketSOCKSVersion5установить SOCKS4 или SOCKS5, соответственно. Если этот ключ не присутствует, SOCKS5 используется по умолчанию.Доступный в iOS 2.0 и позже.
-
kCFStreamSocketSOCKSVersion4Констант использовал в
kCFStreamSockerSOCKSVersionключ для указания SOCKS4 как версию SOCKS для потока.Доступный в iOS 2.0 и позже.
-
kCFStreamSocketSOCKSVersion5Констант использовал в
kCFStreamSOCKSVersionключ для указания SOCKS5 как версию SOCKS для потока.Доступный в iOS 2.0 и позже.
-
kCFStreamPropertySOCKSUserПостоянный для ключа, требуемого установить имя пользователя.
Значение является a
CFStringобъект, содержащий имя пользователя.Доступный в iOS 2.0 и позже.
-
kCFStreamPropertySOCKSPasswordПостоянный для ключа, требуемого установить пароль пользователя.
Значение является a
CFStringобъект, содержащий пароль пользователя.Доступный в iOS 2.0 и позже.
Обсуждение
При установке свойства SOCKS Proxy потока значение свойства является a
CFDictionaryобъект, содержащий в минимумеkCFStreamPropertySOCKSProxyHostиkCFStreamPropertySOCKSProxyPortключи. Словарь может также содержать другие ключи, описанные в этом разделе. -
-
Строковые константы, указывающие тип службы потока.
Объявление
Swift
let kCFStreamNetworkServiceTypeVoIP: CFString! let kCFStreamNetworkServiceTypeVideo: CFString! let kCFStreamNetworkServiceTypeBackground: CFString! let kCFStreamNetworkServiceTypeVoice: CFString!Objective C
CFStringRef const kCFStreamNetworkServiceTypeVoIP; const CFStringRef kCFStreamNetworkServiceTypeVideo; const CFStringRef kCFStreamNetworkServiceTypeBackground; const CFStringRef kCFStreamNetworkServiceTypeVoice;Константы
-
kCFStreamNetworkServiceTypeVoIPУказывает, что поток предоставляет услугу VoIP.
Доступный в iOS 4.0 и позже.
-
kCFStreamNetworkServiceTypeVideoУказывает, что поток обеспечивает интерактивные видеоданные.
Доступный в iOS 5.0 и позже.
-
kCFStreamNetworkServiceTypeBackgroundУказывает, что поток является фоновой загрузкой.
Доступный в iOS 5.0 и позже.
-
kCFStreamNetworkServiceTypeVoiceУказывает, что поток обеспечивает интерактивную речевую информацию.
Доступный в iOS 5.0 и позже.
-
-
Ошибочные домены, определенные для
CFSocketStreamвызовы.Объявление
Swift
let kCFStreamErrorDomainSOCKS: Int32 let kCFStreamErrorDomainSSL: Int32 let kCFStreamErrorDomainWinSock: CFIndexObjective C
extern const int kCFStreamErrorDomainSOCKS; extern const int kCFStreamErrorDomainSSL; extern const CFIndex kCFStreamErrorDomainWinSock;Константы
-
kCFStreamErrorDomainSOCKSЭтот домен возвращает коды ошибки из уровня SOCKS. Ошибки описаны в
Доступный в iOS 2.0 и позже.
-
kCFStreamErrorDomainSSLЭтот домен возвращает коды ошибки, связанные с уровнем SSL. Для списка кодов ошибки посмотрите заголовок
SecureTransport.hвSecurity.framework.Доступный в iOS 2.0 и позже.
-
kCFStreamErrorDomainWinSockПри выполнении кода CFNetwork Windows этот домен возвращает коды ошибки, связанные с базовым штабелем TCP/IP. Необходимо также отметить что несетевые ошибки такой как
ENOMEMпоставлены через домен POSIX. Посмотрите заголовокwinsock2.hдля соответствующих кодов ошибки.Доступный в iOS 2.0 и позже.
Обсуждение
Для определения источника ошибки исследуйте
userInfoсловарь, включенный вCFErrorобъект, возвращенный вызовом функции или вызовомCFErrorGetDomainи передача вCFErrorвозразите и домен, значение которого Вы хотите считать. -
-
Подобласти раньше определяли, как интерпретировать ошибку в
kCFStreamErrorDomainSOCKSдомен.Объявление
Objective C
enum { kCFStreamErrorSOCKSSubDomainNone = 0, kCFStreamErrorSOCKSSubDomainVersionCode = 1, kCFStreamErrorSOCKS4SubDomainResponse = 2, kCFStreamErrorSOCKS5SubDomainUserPass = 3, kCFStreamErrorSOCKS5SubDomainMethod = 4, kCFStreamErrorSOCKS5SubDomainResponse = 5 };Константы
-
kCFStreamErrorSOCKSSubDomainNoneКод ошибки возвратился, код ошибки SOCKS.
-
kCFStreamErrorSOCKSSubDomainVersionCodeОшибка возвратилась, содержит версию SOCKS, который сервер хочет использовать.
-
kCFStreamErrorSOCKS4SubDomainResponseОшибка возвратилась, код состояния, который сервер возвратил после последней работы.
-
kCFStreamErrorSOCKS5SubDomainUserPassЭта подобласть возвращает коды ошибки, связанные с последней попыткой аутентификации.
-
kCFStreamErrorSOCKS5SubDomainMethodЭта подобласть возвращает желаемый метод согласования сервера.
-
kCFStreamErrorSOCKS5SubDomainResponseЭта подобласть возвращает код ответа, отправленный сервером при ответе на запрос на установление соединения.
Обсуждение
Коды ошибки в
kCFStreamErrorDomainSOCKSдомен может прибыть из многократных частей стека протоколов, многие из которых определяют свои собственные ошибочные значения как часть внешних спецификаций, такие как Спецификация HTTP.Избегать беспорядка от конфликтных кодов ошибки, кодов ошибки в
kCFStreamErrorDomainSOCKSдомен содержит две части: подобласть, говорящая, какая часть стека протоколов генерировала ошибку и сам код ошибки.Вызов
CFSocketStreamSOCKSGetErrorSubdomainвозвращает идентификатор, говорящий, какой уровень стека протоколов произвел ошибку. Этот список констант содержит возможные значения, которые возвратит эта функция.Вызов
CFSocketStreamSOCKSGetErrorвозвращает фактический код ошибки, который описывает подобласть. -
-
Коды ошибки, возвращенные
kCFStreamErrorDomainSOCKSошибочный домен.Объявление
Swift
var kCFStreamErrorSOCKS5BadResponseAddr: Int { get } var kCFStreamErrorSOCKS5BadState: Int { get } var kCFStreamErrorSOCKSUnknownClientVersion: Int { get } var kCFStreamErrorSOCKS4RequestFailed: Int { get } var kCFStreamErrorSOCKS4IdentdFailed: Int { get } var kCFStreamErrorSOCKS4IdConflict: Int { get } var kSOCKS5NoAcceptableMethod: Int { get }Objective C
/* kCFStreamErrorSOCKSSubDomainNone */ enum { kCFStreamErrorSOCKS5BadResponseAddr = 1, kCFStreamErrorSOCKS5BadState = 2, kCFStreamErrorSOCKSUnknownClientVersion = 3 }; /* kCFStreamErrorSOCKS4SubDomainResponse */ enum { kCFStreamErrorSOCKS4RequestFailed = 91, kCFStreamErrorSOCKS4IdentdFailed = 92, kCFStreamErrorSOCKS4IdConflict = 93 }; /* kCFStreamErrorSOCKS5SubDomainMethod */ enum { kSOCKS5NoAcceptableMethod = 0xFF };Константы
-
kCFStreamErrorSOCKS5BadResponseAddrАдрес возвратился, не имеет известного типа. Этот код ошибки только допустим для ошибок в
kCFStreamErrorSOCKSSubDomainNoneподобласть.Доступный в iOS 2.0 и позже.
-
kCFStreamErrorSOCKS5BadStateПоток не находится в состоянии, позволяющем требуемую работу. Этот код ошибки только допустим для ошибок в
kCFStreamErrorSOCKSSubDomainNoneподобласть..Доступный в iOS 2.0 и позже.
-
kCFStreamErrorSOCKSUnknownClientVersionСервер SOCKS отклонил доступ, потому что это не поддерживает соединения с требуемой версией SOCKS. Версия клиента SOCKS. Можно запросить
kCFSOCKSVersionKeyключ для обнаружения, что версия сервер, который требуют. Этот код ошибки только допустим для ошибок вkCFStreamErrorSOCKSSubDomainNoneподобласть.Доступный в iOS 2.0 и позже.
-
kCFStreamErrorSOCKS4RequestFailedЗапрос, отклоненный сервером или запросом, перестал работать. Эта ошибка является определенной для SOCKS4. Этот код ошибки только допустим для ошибок в
kCFStreamErrorSOCKS4SubDomainResponseподобласть.Доступный в iOS 2.0 и позже.
-
kCFStreamErrorSOCKS4IdentdFailedЗапрос, отклоненный сервером, потому что это не могло соединиться с
identdдемон на клиенте. Эта ошибка является определенной для SOCKS4. Этот код ошибки только допустим для ошибок вkCFStreamErrorSOCKS4SubDomainResponseподобласть.Доступный в iOS 2.0 и позже.
-
kCFStreamErrorSOCKS4IdConflictЗапрос, отклоненный сервером, потому что клиентская программа и
identdдемон сообщил о различных идентификаторах пользователей. Эта ошибка является определенной для SOCKS4. Этот код ошибки только допустим для ошибок вkCFStreamErrorSOCKS4SubDomainResponseподобласть.Доступный в iOS 2.0 и позже.
-
kSOCKS5NoAcceptableMethodКлиент и сервер не мог найти согласованный метод аутентификации. Этот код ошибки только допустим для ошибок в
kCFStreamErrorSOCKS5SubDomainMethodподобласть.Доступный в iOS 2.0 и позже.
Обсуждение
Коды ошибки в
kCFStreamErrorDomainSOCKSдомен может прибыть из многократных частей стека протоколов, многие из которых определяют свои собственные ошибочные значения как часть внешних спецификаций, такие как Спецификация HTTP.Избегать беспорядка от конфликтных кодов ошибки, кодов ошибки в
kCFStreamErrorDomainSOCKSдомен содержит две части: подобласть, говорящая, какая часть стека протоколов генерировала ошибку и сам код ошибки.Вызов
CFSocketStreamSOCKSGetErrorSubdomainвозвращает идентификатор, говорящий, какой уровень стека протоколов произвел ошибку.Вызов
CFSocketStreamSOCKSGetErrorвозвращает фактический код ошибки, который описывает подобласть. Этот список констант содержит возможные значения, которые возвратит эта функция. Они должны быть интерпретированы в контексте соответствующей ошибочной подобласти. -
