Ссылка CFStream
Этот документ описывает обобщение CFStream
функции, типы данных и константы. См. также CFReadStreamRef
и CFWriteStreamRef
для функций и констант, определенных в чтение и потоки записи соответственно.
-
Создает читаемые и перезаписываемые потоки, подключенные к сокету.
Объявление
Swift
func CFStreamCreatePairWithPeerSocketSignature(_
alloc
: CFAllocator!, _signature
: UnsafePointer<CFSocketSignature>, _readStream
: UnsafeMutablePointer<Unmanaged<CFReadStream>?>, _writeStream
: UnsafeMutablePointer<Unmanaged<CFWriteStream>?>)Objective C
void CFStreamCreatePairWithPeerSocketSignature ( CFAllocatorRef alloc, const CFSocketSignature *signature, CFReadStreamRef *readStream, CFWriteStreamRef *writeStream );
Параметры
alloc
Средство выделения для использования для выделения памяти для новых объектов. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.signature
A
CFSocketSignature
структура, идентифицирующая протокол связи и адрес, с которым должны соединиться потоки сокета.readStream
По возврату читаемый поток соединился с адресом сокета в
signature
. Если Вы передаетеNULL
, эта функция не создаст читаемый поток. Владение соблюдает Создать Правило.writeStream
По возврату перезаписываемый поток соединился с адресом сокета в
signature
. Если Вы передаетеNULL
, эта функция не создаст перезаписываемый поток. Владение соблюдает Создать Правило.Обсуждение
Потоки не создают сокет или подключение к удаленному узлу, пока Вы не открываете один из потоков.
Большинство свойств совместно используется обоими потоками. Установка совместно используемого свойства для одного потока автоматически устанавливает свойство для другого.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.2 и позже.
-
Создает читаемые и перезаписываемые потоки, подключенные к порту TCP/IP определенного узла.
Объявление
Swift
func CFStreamCreatePairWithSocketToHost(_
alloc
: CFAllocator!, _host
: CFString!, _port
: UInt32, _readStream
: UnsafeMutablePointer<Unmanaged<CFReadStream>?>, _writeStream
: UnsafeMutablePointer<Unmanaged<CFWriteStream>?>)Objective C
void CFStreamCreatePairWithSocketToHost ( CFAllocatorRef alloc, CFStringRef host, UInt32 port, CFReadStreamRef *readStream, CFWriteStreamRef *writeStream );
Параметры
alloc
Средство выделения для использования для выделения памяти для
CFReadStream
иCFWriteStream
объекты. ПередачаNULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.host
Имя хоста, с которым должны соединиться потоки сокета. Узел может быть указан с помощью IPv4 или адреса IPv6 или полностью определенного имени хоста DNS.
port
Номер порта TCP, с которым должны соединиться потоки сокета.
readStream
По возврату читаемый поток соединился с адресом сокета в
port
. Если Вы передаетеNULL
, эта функция не создаст читаемый поток. Владение соблюдает Создать Правило.writeStream
По возврату перезаписываемый поток соединился с адресом сокета в
port
. Если Вы передаетеNULL
, эта функция не создаст перезаписываемый поток. Владение соблюдает Создать Правило.Обсуждение
Потоки не создают сокет, разрешают имя хоста или соединяются с удаленным узлом, пока Вы не открываете один из потоков.
Большинство свойств совместно используется обоими потоками. Установка совместно используемого свойства для одного потока автоматически устанавливает свойство для другого.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.1 и позже.
-
Создает читаемые и перезаписываемые потоки, подключенные к сокету.
Объявление
Swift
func CFStreamCreatePairWithSocket(_
alloc
: CFAllocator!, _sock
: CFSocketNativeHandle, _readStream
: UnsafeMutablePointer<Unmanaged<CFReadStream>?>, _writeStream
: UnsafeMutablePointer<Unmanaged<CFWriteStream>?>)Objective C
void CFStreamCreatePairWithSocket ( CFAllocatorRef alloc, CFSocketNativeHandle sock, CFReadStreamRef *readStream, CFWriteStreamRef *writeStream );
Параметры
alloc
Средство выделения для использования для выделения памяти для новых объектов. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.sock
readStream
По возврату читаемый поток соединился с адресом сокета в
signature
. Если Вы передаетеNULL
, эта функция не создаст читаемый поток. Владение соблюдает Создать Правило.writeStream
По возврату перезаписываемый поток соединился с адресом сокета в
signature
. Если Вы передаетеNULL
, эта функция не создаст перезаписываемый поток. Владение соблюдает Создать Правило.Обсуждение
Большинство свойств совместно используется обоими потоками. Установка совместно используемого свойства для одного потока автоматически устанавливает свойство для другого.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.1 и позже.
-
Создает пару потоков записи и чтения.
Объявление
Swift
func CFStreamCreateBoundPair(_
alloc
: CFAllocator!, _readStream
: UnsafeMutablePointer<Unmanaged<CFReadStream>?>, _writeStream
: UnsafeMutablePointer<Unmanaged<CFWriteStream>?>, _transferBufferSize
: CFIndex)Objective C
void CFStreamCreateBoundPair ( CFAllocatorRef alloc, CFReadStreamRef *readStream, CFWriteStreamRef *writeStream, CFIndex transferBufferSize );
Параметры
alloc
Средство выделения для использования для выделения памяти для новых объектов. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.readStream
По возврату, читаемому потоку. Владение соблюдает Создать Правило.
writeStream
По возврату, перезаписываемому. Владение соблюдает Создать Правило.
transferBufferSize
Размер буфера для использования для передачи данных от
readStream
кwriteStream
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.5 и позже.
-
Структура, возвращенная
CFReadStreamGetError
иCFWriteStreamGetError
.Использовать
CFReadStreamCopyError
иCFWriteStreamCopyError
вместо этого.Объявление
Swift
struct CFStreamError { var domain: CFIndex var error: Int32 }
Objective C
typedef struct { CFStreamErrorDomain domain; SInt32 error } CFStreamError;
Поля
domain
Ошибочный домен, который должен использоваться для интерпретации ошибки. Посмотрите
CFStream Error Domain Constants
для возможных значений.error
Код ошибки.
Доступность
Доступный в OS X v10.1 и позже.
-
Структура обеспечила, когда приложение регистрирует себя для получения связанных с потоком событий.
Объявление
Objective C
struct CFStreamClientContext { CFIndex version; void *info; void *(*retain)(void *info); void (*release)(void *info); CFStringRef (*copyDescription)(void *info); } CFStreamClientContext;
Поля
version
Целое число типа
CFIndex
. В настоящее время единственное допустимое значение является нулем.info
Указатель на выделенную память, содержащую определяемые пользователем данные, которые будут допустимы столько, сколько клиент регистрируется в потоке. Можно присвоиться
NULL
если Ваша функция обратного вызова не хочет получать определяемые пользователем данные.retain
Указатель на функциональный обратный вызов, сохраняющий данные, на которые указывают
info
поле. Можно установить этот указатель функции вNULL
.release
Указатель на функциональный обратный вызов, выпускающий данные, на которые указывают
info
поле. Можно установить этот указатель функции вNULL
но выполнение так могло бы привести к утечкам памяти.copyDescription
Указатель на функциональный обратный вызов, предоставляющий описание данных, на которые указывают
info
поле. В реализации этой функции возвратите ссылку на aCFString
объект, описывающий Ваше средство выделения, особенно некоторые характеристики Ваших определяемых пользователем данных. Можно установить этот указатель функции вNULL
, когда Базовая Основа предоставит элементарное описание.
-
Константы, описывающие состояние потока.
Объявление
Swift
enum CFStreamStatus : CFIndex { case NotOpen case Opening case Open case Reading case Writing case AtEnd case Closed case Error }
Objective C
typedef enum { kCFStreamStatusNotOpen = 0, kCFStreamStatusOpening, kCFStreamStatusOpen, kCFStreamStatusReading, kCFStreamStatusWriting, kCFStreamStatusAtEnd, kCFStreamStatusClosed, kCFStreamStatusError } CFStreamStatus;
Константы
-
NotOpen
kCFStreamStatusNotOpen
Поток не открыт для чтения или записи.
Доступный в OS X v10.1 и позже.
-
Opening
kCFStreamStatusOpening
Поток открывается для чтения или для записи.
Доступный в OS X v10.1 и позже.
-
Open
kCFStreamStatusOpen
Поток открыт.
Доступный в OS X v10.1 и позже.
-
Reading
kCFStreamStatusReading
Поток читается из.
Доступный в OS X v10.1 и позже.
-
Writing
kCFStreamStatusWriting
Поток пишется в.
Доступный в OS X v10.1 и позже.
-
AtEnd
kCFStreamStatusAtEnd
Больше нет данных для чтения, или больше данных не может быть записано.
Доступный в OS X v10.1 и позже.
-
Closed
kCFStreamStatusClosed
Поток закрывается.
Доступный в OS X v10.1 и позже.
-
Error
kCFStreamStatusError
Ошибка произошла на потоке.
Доступный в OS X v10.1 и позже.
Обсуждение
CFStreamStatus
перечисление определяет константы, описывающие состояние потока. Эти значения возвращаютсяCFReadStreamGetStatus
иCFWriteStreamGetStatus
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.1 и позже.
-
-
Определяет константы для значений, возвращенных в доменном поле
CFStreamError
структура.Эти константы возвращаются
CFReadStreamGetError
иCFWriteStreamGetError
; использоватьCFReadStreamCopyError
иCFWriteStreamCopyError
вместо этого.Объявление
Swift
enum CFStreamErrorDomain : CFIndex { case Custom case POSIX case MacOSStatus }
Objective C
typedef enum { kCFStreamErrorDomainCustom = -1, kCFStreamErrorDomainPOSIX = 1, kCFStreamErrorDomainMacOSStatus, } CFStreamErrorDomain;
Константы
-
Custom
kCFStreamErrorDomainCustom
Код ошибки является пользовательским кодом ошибки.
Доступный в OS X v10.1 и позже.
-
POSIX
kCFStreamErrorDomainPOSIX
Код ошибки является кодом ошибки, определенным в
errno.h
.Доступный в OS X v10.1 и позже.
-
MacOSStatus
kCFStreamErrorDomainMacOSStatus
Ошибка является значением OSStatus, определенным в
MacErrors.h
.Доступный в OS X v10.1 и позже.
Обсуждение
Эти константы указывают как код ошибки в
error
поле вCFStreamError
структура должна быть интерпретирована.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.1 и позже.
-
-
Определяет константы для значений, возвращенных в доменном поле
CFStreamError
структура.Объявление
Swift
let kCFStreamErrorDomainNetDB: Int32 let kCFStreamErrorDomainNetServices: Int32 let kCFStreamErrorDomainMach: Int32 let kCFStreamErrorDomainFTP: Int32 let kCFStreamErrorDomainHTTP: Int32 let kCFStreamErrorDomainSOCKS: Int32 let kCFStreamErrorDomainSystemConfiguration: Int32 let kCFStreamErrorDomainSSL: Int32
Objective C
const SInt32 kCFStreamErrorDomainNetDB; const SInt32 kCFStreamErrorDomainNetServices; const SInt32 kCFstreamErrorDomainMach; const SInt32 kCFStreamErrorDomainFTP; const SInt32 kCFStreamErrorDomainHTTP; const int kCFStreamErrorDomainSOCKS; const SInt32 kCFStreamErrorDomainSystemConfiguration; const int kCFStreamErrorDomainSSL;
Константы
-
kCFStreamErrorDomainNetDB
kCFStreamErrorDomainNetDB
Код ошибки является кодом ошибки, определенным в
netdb.h
.Доступный в OS X v10.3 и позже.
-
kCFStreamErrorDomainNetServices
kCFStreamErrorDomainNetServices
Код ошибки является a
CFNetService
код ошибки. Для получения дополнительной информации посмотритеCFNetService Error Constants
перечисление.Доступный в OS X v10.2 и позже.
-
kCFStreamErrorDomainMach
kCFStreamErrorDomainMach
Код ошибки является кодом ошибки Маха, определенным в
mach/error.h
.Доступный в OS X v10.2 и позже.
-
kCFStreamErrorDomainFTP
kCFStreamErrorDomainFTP
Код ошибки является кодом ошибки FTP.
Доступный в OS X v10.3 и позже.
-
kCFStreamErrorDomainHTTP
kCFStreamErrorDomainHTTP
Код ошибки является кодом Ошибки HTTP.
Доступный в OS X v10.1 и позже.
-
kCFStreamErrorDomainSOCKS
kCFStreamErrorDomainSOCKS
Код ошибки является ошибкой прокси SOCKS.
Доступный в OS X v10.0 и позже.
-
kCFStreamErrorDomainSystemConfiguration
kCFStreamErrorDomainSystemConfiguration
Код ошибки является кодом ошибки конфигурации системы, как определено в
System/ConfigurationSystemConfiguration.h
.Доступный в OS X v10.3 и позже.
-
kCFStreamErrorDomainSSL
kCFStreamErrorDomainSSL
Код ошибки является кодом ошибки SSL, как определено в
Security/SecureTransport.h
.Доступный в OS X v10.2 и позже.
Обсуждение
Эти константы указывают как код ошибки в
error
поле вCFStreamError
структура должна быть интерпретирована. -
-
Определяет константы для связанных с потоком событий.
Объявление
Swift
struct CFStreamEventType : RawOptionSetType { init(_
rawValue
: CFOptionFlags) init(rawValuerawValue
: CFOptionFlags) static var None: CFStreamEventType { get } static var OpenCompleted: CFStreamEventType { get } static var HasBytesAvailable: CFStreamEventType { get } static var CanAcceptBytes: CFStreamEventType { get } static var ErrorOccurred: CFStreamEventType { get } static var EndEncountered: CFStreamEventType { get } }Objective C
typedef enum { kCFStreamEventNone = 0, kCFStreamEventOpenCompleted = 1, kCFStreamEventHasBytesAvailable = 2, kCFStreamEventCanAcceptBytes = 4, kCFStreamEventErrorOccurred = 8, kCFStreamEventEndEncountered = 16 } CFStreamEventType;
Константы
-
None
kCFStreamEventNone
Никакое событие не имело место.
Доступный в OS X v10.1 и позже.
-
OpenCompleted
kCFStreamEventOpenCompleted
Открытое завершилось успешно.
Доступный в OS X v10.1 и позже.
-
HasBytesAvailable
kCFStreamEventHasBytesAvailable
Поток имеет байты, которые будут считаны.
Доступный в OS X v10.1 и позже.
-
CanAcceptBytes
kCFStreamEventCanAcceptBytes
Поток может принять байты для записи.
Доступный в OS X v10.1 и позже.
-
ErrorOccurred
kCFStreamEventErrorOccurred
Ошибка произошла на потоке.
Доступный в OS X v10.1 и позже.
-
EndEncountered
kCFStreamEventEndEncountered
Конец потока был достигнут.
Доступный в OS X v10.1 и позже.
Обсуждение
Это перечисление определяет константы для связанных с потоком событий.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.1 и позже.
-
-
Потоковые имена свойства, которые могут быть определены или скопированы.
Объявление
Swift
let kCFStreamPropertyDataWritten: CFString! let kCFStreamPropertyAppendToFile: CFString! let kCFStreamPropertyFileCurrentOffset: CFString! let kCFStreamPropertySocketNativeHandle: CFString! let kCFStreamPropertySocketRemoteHostName: CFString! let kCFStreamPropertySocketRemotePortNumber: CFString!
Objective C
const CFStringRef kCFStreamPropertyAppendToFile; const CFStringRef kCFStreamPropertyFileCurrentOffset; const CFStringRef kCFStreamPropertyDataWritten; const CFStringRef kCFStreamPropertySocketNativeHandle; const CFStringRef kCFStreamPropertySocketRemoteHostName; const CFStringRef kCFStreamPropertySocketRemotePortNumber;
Константы
-
kCFStreamPropertyDataWritten
kCFStreamPropertyDataWritten
Значение является a
CFData
объект, содержащий все байты, записанные в перезаписываемый поток памяти. Вы не можете изменить это значение.Доступный в OS X v10.1 и позже.
-
kCFStreamPropertyAppendToFile
kCFStreamPropertyAppendToFile
Значение является a
CFBoolean
значение, указывающее, добавить ли записанные данные к файлу, если это уже существует, вместо того, чтобы заменить его содержание.Необходимо установить это значение прежде, чем открыть перезаписываемый поток файла. Значение по умолчанию
kCFBooleanFalse
, указание, что поток должен заменить любой существующий ранее файл. Вы не можете считать это значение.Доступный в OS X v10.2 и позже.
-
kCFStreamPropertyFileCurrentOffset
kCFStreamPropertyFileCurrentOffset
Значение является a
CFNumber
объект, содержащий текущее файловое смещение.Доступный в OS X v10.3 и позже.
-
kCFStreamPropertySocketNativeHandle
kCFStreamPropertySocketNativeHandle
Значение является a
CFData
объект, содержащий собственный дескриптор для потока сокета — типаCFSocketNativeHandle
— с которым подключен поток сокета.Это свойство только доступно для потоков сокета. Вы не можете изменить это значение. В любое время можно считать это значение.
Доступный в OS X v10.1 и позже.
-
kCFStreamPropertySocketRemoteHostName
kCFStreamPropertySocketRemoteHostName
Значение является a
CFString
объект, содержащий имя узла, с которым поток сокета подключен илиNULL
если неизвестный.Вы не можете изменить это значение. В любое время можно считать это значение.]
Доступный в OS X v10.1 и позже.
-
kCFStreamPropertySocketRemotePortNumber
kCFStreamPropertySocketRemotePortNumber
Значение является a
CFNumber
объект, содержащий число удаленного порта, с которым поток сокета подключен илиNULL
если неизвестный.Вы не можете изменить это значение. В любое время можно считать это значение.]
Доступный в OS X v10.1 и позже.
Обсуждение
Использовать
CFReadStreamCopyProperty
илиCFWriteStreamCopyProperty
считать значения свойств. ИспользоватьCFReadStreamSetProperty
илиCFWriteStreamSetProperty
установить значения свойств. -