Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы CoreFoundation ссылка CFStream

Опции
Развертывание Target:

На этой странице
Язык:

Ссылка 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 поле. В реализации этой функции возвратите ссылку на a CFString объект, описывающий Ваше средство выделения, особенно некоторые характеристики Ваших определяемых пользователем данных. Можно установить этот указатель функции в 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(rawValue rawValue: 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 установить значения свойств.