Ссылка 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использовать текущее средство выделения по умолчанию.signatureA
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использовать текущее средство выделения по умолчанию.sockreadStreamПо возврату читаемый поток соединился с адресом сокета в
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;Константы
-
NotOpenkCFStreamStatusNotOpenПоток не открыт для чтения или записи.
Доступный в OS X v10.1 и позже.
-
OpeningkCFStreamStatusOpeningПоток открывается для чтения или для записи.
Доступный в OS X v10.1 и позже.
-
OpenkCFStreamStatusOpenПоток открыт.
Доступный в OS X v10.1 и позже.
-
ReadingkCFStreamStatusReadingПоток читается из.
Доступный в OS X v10.1 и позже.
-
WritingkCFStreamStatusWritingПоток пишется в.
Доступный в OS X v10.1 и позже.
-
AtEndkCFStreamStatusAtEndБольше нет данных для чтения, или больше данных не может быть записано.
Доступный в OS X v10.1 и позже.
-
ClosedkCFStreamStatusClosedПоток закрывается.
Доступный в OS X v10.1 и позже.
-
ErrorkCFStreamStatusErrorОшибка произошла на потоке.
Доступный в 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;Константы
-
CustomkCFStreamErrorDomainCustomКод ошибки является пользовательским кодом ошибки.
Доступный в OS X v10.1 и позже.
-
POSIXkCFStreamErrorDomainPOSIXКод ошибки является кодом ошибки, определенным в
errno.h.Доступный в OS X v10.1 и позже.
-
MacOSStatuskCFStreamErrorDomainMacOSStatusОшибка является значением 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: Int32Objective 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;Константы
-
kCFStreamErrorDomainNetDBkCFStreamErrorDomainNetDBКод ошибки является кодом ошибки, определенным в
netdb.h.Доступный в OS X v10.3 и позже.
-
kCFStreamErrorDomainNetServiceskCFStreamErrorDomainNetServicesКод ошибки является a
CFNetServiceкод ошибки. Для получения дополнительной информации посмотритеCFNetService Error Constantsперечисление.Доступный в OS X v10.2 и позже.
-
kCFStreamErrorDomainMachkCFStreamErrorDomainMachКод ошибки является кодом ошибки Маха, определенным в
mach/error.h.Доступный в OS X v10.2 и позже.
-
kCFStreamErrorDomainFTPkCFStreamErrorDomainFTPКод ошибки является кодом ошибки FTP.
Доступный в OS X v10.3 и позже.
-
kCFStreamErrorDomainHTTPkCFStreamErrorDomainHTTPКод ошибки является кодом Ошибки HTTP.
Доступный в OS X v10.1 и позже.
-
kCFStreamErrorDomainSOCKSkCFStreamErrorDomainSOCKSКод ошибки является ошибкой прокси SOCKS.
Доступный в OS X v10.0 и позже.
-
kCFStreamErrorDomainSystemConfigurationkCFStreamErrorDomainSystemConfigurationКод ошибки является кодом ошибки конфигурации системы, как определено в
System/ConfigurationSystemConfiguration.h.Доступный в OS X v10.3 и позже.
-
kCFStreamErrorDomainSSLkCFStreamErrorDomainSSLКод ошибки является кодом ошибки 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;Константы
-
NonekCFStreamEventNoneНикакое событие не имело место.
Доступный в OS X v10.1 и позже.
-
OpenCompletedkCFStreamEventOpenCompletedОткрытое завершилось успешно.
Доступный в OS X v10.1 и позже.
-
HasBytesAvailablekCFStreamEventHasBytesAvailableПоток имеет байты, которые будут считаны.
Доступный в OS X v10.1 и позже.
-
CanAcceptByteskCFStreamEventCanAcceptBytesПоток может принять байты для записи.
Доступный в OS X v10.1 и позже.
-
ErrorOccurredkCFStreamEventErrorOccurredОшибка произошла на потоке.
Доступный в OS X v10.1 и позже.
-
EndEncounteredkCFStreamEventEndEncounteredКонец потока был достигнут.
Доступный в 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;Константы
-
kCFStreamPropertyDataWrittenkCFStreamPropertyDataWrittenЗначение является a
CFDataобъект, содержащий все байты, записанные в перезаписываемый поток памяти. Вы не можете изменить это значение.Доступный в OS X v10.1 и позже.
-
kCFStreamPropertyAppendToFilekCFStreamPropertyAppendToFileЗначение является a
CFBooleanзначение, указывающее, добавить ли записанные данные к файлу, если это уже существует, вместо того, чтобы заменить его содержание.Необходимо установить это значение прежде, чем открыть перезаписываемый поток файла. Значение по умолчанию
kCFBooleanFalse, указание, что поток должен заменить любой существующий ранее файл. Вы не можете считать это значение.Доступный в OS X v10.2 и позже.
-
kCFStreamPropertyFileCurrentOffsetkCFStreamPropertyFileCurrentOffsetЗначение является a
CFNumberобъект, содержащий текущее файловое смещение.Доступный в OS X v10.3 и позже.
-
kCFStreamPropertySocketNativeHandlekCFStreamPropertySocketNativeHandleЗначение является a
CFDataобъект, содержащий собственный дескриптор для потока сокета — типаCFSocketNativeHandle— с которым подключен поток сокета.Это свойство только доступно для потоков сокета. Вы не можете изменить это значение. В любое время можно считать это значение.
Доступный в OS X v10.1 и позже.
-
kCFStreamPropertySocketRemoteHostNamekCFStreamPropertySocketRemoteHostNameЗначение является a
CFStringобъект, содержащий имя узла, с которым поток сокета подключен илиNULLесли неизвестный.Вы не можете изменить это значение. В любое время можно считать это значение.]
Доступный в OS X v10.1 и позже.
-
kCFStreamPropertySocketRemotePortNumberkCFStreamPropertySocketRemotePortNumberЗначение является a
CFNumberобъект, содержащий число удаленного порта, с которым поток сокета подключен илиNULLесли неизвестный.Вы не можете изменить это значение. В любое время можно считать это значение.]
Доступный в OS X v10.1 и позже.
Обсуждение
Использовать
CFReadStreamCopyPropertyилиCFWriteStreamCopyPropertyсчитать значения свойств. ИспользоватьCFReadStreamSetPropertyилиCFWriteStreamSetPropertyустановить значения свойств. -
