Ссылка CFNetServices
CFNetServices API является частью Добрый день, реализацией Apple нулевой конфигурации, объединяющей (ZEROCONF) в сеть. CFNetServices API позволяет Вам регистрировать сетевую службу, такую как сервер принтера или файловый сервер, так, чтобы это могло быть найдено по имени или просмотрено для типом службы и доменом. Приложения могут использовать CFNetServices API для обнаружения служб, которые доступны в сети и найти всю информацию о доступе — такую как имя, IP-адрес, и номер порта — должен был использовать каждую службу.
В действительности Добрый день регистрация и открытие комбинируют функции локального сервера DNS и AppleTalk, позволяя приложениям обеспечить вид удобного для пользователя просмотра, доступного в Селекторе AppleTalk, использующем открытые протоколы, такие как Многоадресная передача DNS (mDNS). Добрый день предоставляет легкий доступ приложений к службам по локальным сетям IP, не требуя, чтобы служба поддерживала штабель AppleTalk, и не требуя сервера DNS в локальной сети.
Для полного описания Добрый день, см. Добрый день Обзор.
-
Создает экземпляр объекта Сетевой службы.
Объявление
Swift
func CFNetServiceCreate(_
alloc
: CFAllocator!, _domain
: CFString!, _type
: CFString!, _name
: CFString!, _port
: Int32) -> Unmanaged<CFNetService>!Objective C
CFNetServiceRef CFNetServiceCreate ( CFAllocatorRef alloc, CFStringRef domain, CFStringRef serviceType, CFStringRef name, SInt32 port );
Параметры
alloc
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.domain
Домен, в котором должен быть зарегистрирован CFNetService; не может быть
NULL
. ВызватьCFNetServiceBrowserCreate
иCFNetServiceBrowserSearchForDomains
получить регистрационный домен.type
Тип зарегистрированной службы; не может быть
NULL
. Для списка допустимых типов службы посмотрите http://www .iana.org/assignments/port-numbers.name
Уникальное имя, если экземпляр будет использоваться для регистрации службы. Имя станет частью имени экземпляра в записях DNS, которые будут создаваться, когда будет зарегистрирована служба. Если экземпляр будет использоваться для разрешения службы, имя должно быть именем машины или службы, которая будет разрешена.
port
Локальный порт IP, в порядке байтов узла, на котором эта служба принимает соединения. Нуль передачи для получения службы заполнителя. Со службой заполнителя служба не будет обнаружена путем просмотра, но конфликт имен произойдет, если другой клиент попытается зарегистрировать то же имя. Большинство приложений не должно использовать службу заполнителя.
Возвращаемое значение
Новый объект сетевой службы, или
NULL
если не мог бы быть создан экземпляр. Владение соблюдает Создать Правило.Обсуждение
Если служба зависит от информации в DNS записи TXT, вызвать
CFNetServiceSetProtocolSpecificInformation
.Если CFNetService должен работать в асинхронном режиме, вызвать
CFNetServiceSetClient
подготавливать службу к выполнению в асинхронном режиме. Тогда вызовитеCFNetServiceScheduleWithRunLoop
запланировать службу на цикл выполнения. Тогда вызовитеCFNetServiceRegister
сделать службу доступной.Если CFNetService должен работать в синхронном режиме, вызвать
CFNetServiceRegister
.Для завершения службы, работающей в асинхронном режиме вызвать
CFNetServiceCancel
иCFNetServiceUnscheduleFromRunLoop
.Для завершения службы, работающей в синхронном режиме вызвать
CFNetServiceCancel
.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Создает копию объекта CFNetService.
Объявление
Swift
func CFNetServiceCreateCopy(_
alloc
: CFAllocator!, _service
: CFNetService!) -> Unmanaged<CFNetService>!Objective C
CFNetServiceRef CFNetServiceCreateCopy ( CFAllocatorRef alloc, CFNetServiceRef service );
Параметры
alloc
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.service
CFNetServiceRef, который будет скопирован; не может быть
NULL
. Еслиservice
не допустимый CFNetServiceRef, поведение этой функции не определено.Возвращаемое значение
Копия
service
, включение всех ранее разрешенных данных, илиNULL
еслиservice
не мог быть скопирован. Владение соблюдает Создать Правило.Обсуждение
Эта функция создает копию CFNetService, указанного
service
.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.3 OS X и позже.
-
Создает экземпляр объекта NetServiceMonitor что часы для рекордных изменений.
Объявление
Swift
func CFNetServiceMonitorCreate(_
alloc
: CFAllocator!, _theService
: CFNetService!, _clientCB
: CFNetServiceMonitorClientCallBack, _clientContext
: UnsafeMutablePointer<CFNetServiceClientContext>) -> Unmanaged<CFNetServiceMonitor>!Objective C
CFNetServiceMonitorRef CFNetServiceMonitorCreate ( CFAllocatorRef alloc, CFNetServiceRef theService, CFNetServiceMonitorClientCallBack clientCB, CFNetServiceClientContext *clientContext );
Параметры
alloc
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.theService
CFNetService, который будет контролироваться.
clientCB
Указатель на функцию обратного вызова, которую нужно вызвать, когда запись связалась с
theService
изменения; не может бытьNULL
.clientContext
Указатель на определяемую пользователем контекстную информацию, которая должна быть передана обратному вызову, указанному
clientCB
когда вызывают обратный вызов; не может бытьNULL
. Для получения дополнительной информации посмотрите CFNetServiceClientContext.Возвращаемое значение
Новый экземпляр CFNetServiceMonitor, или
NULL
если не мог бы быть создан монитор. Владение соблюдает Создать Правило.Обсуждение
Эта функция создает CFNetServiceMonitor, наблюдающий за изменениями в записях, связанных с
theService
.Если CFNetServiceMonitor должен работать в асинхронном режиме, вызвать
CFNetServiceMonitorScheduleWithRunLoop
запланировать монитор на цикл выполнения. Тогда вызовитеCFNetServiceMonitorStart
начинать контролировать. Когда изменение происходит, функция обратного вызова, указаннаяclientCB
будет вызван. Для получения дополнительной информации посмотрите CFNetServiceMonitorClientCallBack.Если CFNetServiceMonitor должен работать в синхронном режиме, вызвать
CFNetServiceMonitorStart
.Для остановки монитора, работающего в асинхронном режиме вызвать
CFNetServiceMonitorStop
иCFNetServiceMonitorUnscheduleFromRunLoop
.Для остановки монитора, работающего в синхронном режиме вызвать
CFNetServiceMonitorStop
.Если Вы больше не должны наблюдать рекордные изменения, вызвать
CFNetServiceMonitorStop
остановить монитор и затем вызватьCFNetServiceMonitorInvalidate
лишить законной силы монитор, таким образом, это не может использоваться снова. Тогда вызовитеCFRelease
выпускать память связалось с CFNetServiceMonitorRef.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.4 OS X и позже.
-
Создает экземпляр объекта браузера Сетевой службы.
Объявление
Swift
func CFNetServiceBrowserCreate(_
alloc
: CFAllocator!, _clientCB
: CFNetServiceBrowserClientCallBack, _clientContext
: UnsafeMutablePointer<CFNetServiceClientContext>) -> Unmanaged<CFNetServiceBrowser>!Objective C
CFNetServiceBrowserRef CFNetServiceBrowserCreate ( CFAllocatorRef alloc, CFNetServiceBrowserClientCallBack clientCB, CFNetServiceClientContext *clientContext );
Параметры
alloc
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.clientCB
Функция обратного вызова, которую нужно вызвать, когда найдены домены и службы; не может быть
NULL
. Для получения дополнительной информации посмотритеCFNetServiceBrowserClientCallBack
.clientContext
Контекстная информация, которая будет использоваться, когда
clientCB
вызывается; не может бытьNULL
. Для получения дополнительной информации посмотритеCFNetServiceClientContext
.Возвращаемое значение
Новый объект браузера, или
NULL
если не мог бы быть создан экземпляр. Владение соблюдает Создать Правило.Обсуждение
Эта функция создает экземпляр объекта браузера Сетевой службы, названного CFNetServiceBrowser, который может использоваться для поиска доменов и для служб.
Для использования получающегося CFNetServiceBrowser в асинхронном режиме вызвать
CFNetServiceBrowserScheduleWithRunLoop
. Тогда вызовитеCFNetServiceBrowserSearchForDomains
иCFNetServiceBrowserSearchForServices
использовать CFNetServiceBrowser для поиска служб и доменов, соответственно. Функция обратного вызова, указаннаяclientCB
вызывается от цикла выполнения для передачи результатов поиска приложению. Поиск продолжается, пока Вы не останавливаете поиск путем вызоваCFNetServiceBrowserStopSearch
.Если Вы не вызываете
CFNetServiceBrowserScheduleWithRunLoop
, поиски с получающимся CFNetServiceBrowser сделаны в синхронном режиме. Вызовы, выполненные кCFNetServiceBrowserSearchForDomains
иCFNetServiceBrowserSearchForServices
блок до существует результаты поиска, когда функция обратного вызова, указаннаяclientCB
вызывается, пока поиск не, останавливаются путем вызоваCFNetServiceBrowserStopSearch
от другого потока или ошибки происходит.Для закрытия CFNetServiceBrowser, работающего в асинхронном режиме вызвать
CFNetServiceBrowserStopSearch
, сопровождаемыйCFNetServiceBrowserUnscheduleFromRunLoop
, и затемCFNetServiceBrowserInvalidate
.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Лишает законной силы экземпляр объекта браузера Сетевой службы.
Объявление
Swift
func CFNetServiceBrowserInvalidate(_
browser
: CFNetServiceBrowser!)Objective C
void CFNetServiceBrowserInvalidate ( CFNetServiceBrowserRef browser );
Параметры
browser
CFNetServiceBrowser для лишения законной силы, полученный предыдущим вызовом к
CFNetServiceBrowserCreate
.Обсуждение
Эта функция лишает законной силы указанный экземпляр объекта браузера Сетевой службы. Останавливаются любые поиски с помощью указанного экземпляра, которые происходят, когда эта функция вызвана. Лишенный законной силы браузер не может быть запланирован на цикл выполнения, и его функцию обратного вызова никогда не вызывают.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение, пока другой поток не изменяет тот же CFNetServiceBrowserRef одновременно.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Планирует CFNetServiceBrowser на цикл выполнения.
Объявление
Swift
func CFNetServiceBrowserScheduleWithRunLoop(_
browser
: CFNetServiceBrowser!, _runLoop
: CFRunLoop!, _runLoopMode
: CFString!)Objective C
void CFNetServiceBrowserScheduleWithRunLoop ( CFNetServiceBrowserRef browser, CFRunLoopRef runLoop, CFStringRef runLoopMode );
Параметры
browser
CFNetServiceBrowser, который должен быть запланирован на цикл выполнения; не может быть
NULL
.runLoop
Цикл выполнения, на который должен быть запланирован браузер; не может быть
NULL
.runLoopMode
Режим, на который можно запланировать браузер; не может быть
NULL
.Обсуждение
Эта функция планирует указанный CFNetServiceBrowser на цикл выполнения, таким образом помещая браузер в асинхронный режим. Цикл выполнения вызовет функцию обратного вызова браузера для предоставления результатов поисков службы и домена. Вызывающая сторона ответственна за обеспечение, что выполняется по крайней мере один из циклов выполнения, на которые планируется браузер.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Поиски доменов.
Объявление
Swift
func CFNetServiceBrowserSearchForDomains(_
browser
: CFNetServiceBrowser!, _registrationDomains
: Boolean, _error
: UnsafeMutablePointer<CFStreamError>) -> BooleanObjective C
Boolean CFNetServiceBrowserSearchForDomains ( CFNetServiceBrowserRef browser, Boolean registrationDomains, CFStreamError *error );
Параметры
browser
CFNetServiceBrowser, полученный путем предыдущего вызова
CFNetServiceBrowserCreate
, это должно выполнить поиск; не может бытьNULL
.registrationDomains
TRUE
искать только регистрационные домены;FALSE
искать домены, которые могут быть просмотрены для служб. Для этой версии CFNetServices API регистрационный домен является локальным доменом, сохраняемым mDNS респондентом, работающим на той же машине как вызывающее приложение.error
Указатель на a
CFStreamError
структура, что, если ошибка происходит, будет установлена в ошибку и домен ошибки и передана Вашей функции обратного вызова. ПередачаNULL
если Вы не хотите получать ошибку, которая может произойти в результате этого определенного вызова.Возвращаемое значение
TRUE
если поиск был запущен (асинхронный режим);FALSE
если ошибка произошла, если другой поиск уже происходит для этого CFNetServiceBrowser или.Обсуждение
Эта функция использует CFNetServiceBrowser для поиска доменов. Поиск продолжается, пока поиск не отменяется путем вызова
CFNetServiceBrowserStopSearch
. ЕслиregistrationDomains
TRUE
, эта функция ищет только домены, в которых могут быть зарегистрированы службы. ЕслиregistrationDomains
FALSE
, эта функция ищет домены, которые могут быть просмотрены для служб. То, когда домен найден, функция обратного вызова указала, когда CFNetServiceBrowser создавался, вызывают и передало экземпляр CFStringRef, содержащего найденный домен.В асинхронном режиме, эта функция возвраты
TRUE
если был запущен поиск. Иначе, это возвращаетсяFALSE
.В синхронном режиме это функциональные блоки, пока поиск не останавливается путем вызова
CFNetServiceBrowserStopSearch
от другого потока, когда это возвращаетсяFALSE
, или пока ошибка не происходит.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Для любого CFNetServiceBrowser только один доменный поиск или один поиск службы могут произойти одновременно.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Ищет домен службы указанного типа.
Объявление
Swift
func CFNetServiceBrowserSearchForServices(_
browser
: CFNetServiceBrowser!, _domain
: CFString!, _type
: CFString!, _error
: UnsafeMutablePointer<CFStreamError>) -> BooleanObjective C
Boolean CFNetServiceBrowserSearchForServices ( CFNetServiceBrowserRef browser, CFStringRef domain, CFStringRef serviceType, CFStreamError *error );
Параметры
browser
CFNetServiceBrowser, полученный путем предыдущего вызова
CFNetServiceBrowserCreate
, это должно выполнить поиск; не может бытьNULL
.domain
Домен для поиска типа службы; не может быть
NULL
. Для получения доменов, которые доступны для поиска вызватьCFNetServiceBrowserSearchForDomains
.type
Тип службы для поиска; не может быть
NULL
. Для списка допустимых типов службы посмотрите http://www .iana.org/assignments/port-numbers.error
Указатель на a
CFStreamError
структура, что, если ошибка происходит, будет установлена в ошибку и домен ошибки и передана Вашей функции обратного вызова. ПередачаNULL
если Вы не хотите получать ошибку, которая может произойти в результате этого определенного вызова.Возвращаемое значение
TRUE
если поиск был запущен (асинхронный режим);FALSE
если ошибка произошла, если другой поиск уже происходит для этого CFNetServiceBrowser или.Обсуждение
Эта функция ищет указанный домен службы, соответствующие указанный тип службы. Поиск продолжается, пока поиск не отменяется путем вызова
CFNetServiceBrowserStopSearch
. То, когда соответствие найдено, функция обратного вызова указала, когда CFNetServiceBrowser создавался, вызывают и передало экземпляр CFNetService, представляющего найденную службу.В асинхронном режиме, эта функция возвраты
TRUE
если был запущен поиск. Иначе, это возвращаетсяFALSE
.В синхронном режиме это функциональные блоки, пока поиск не останавливается путем вызова
CFNetServiceBrowserStopSearch
от другого потока, когда возвращается эта функцияFALSE
, или пока ошибка не происходит.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Для любого CFNetServiceBrowser только один доменный поиск или один поиск службы могут произойти одновременно.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Останавливает поиск доменов или служб.
Объявление
Swift
func CFNetServiceBrowserStopSearch(_
browser
: CFNetServiceBrowser!, _error
: UnsafeMutablePointer<CFStreamError>)Objective C
void CFNetServiceBrowserStopSearch ( CFNetServiceBrowserRef browser, CFStreamError *error );
Параметры
browser
CFNetServiceBrowser, использовавшийся для запуска поиска; не может быть
NULL
.error
Указатель на a
CFStreamError
структура, которая будет передана функции обратного вызова, связанной с этим CFNetServiceBrowser (если поиск проводится в асинхронном режиме) или на это указываютerror
параметр, когдаCFNetServiceBrowserSearchForDomains
илиCFNetServiceBrowserSearchForServices
возвраты (если поиск проводится в синхронном режиме). Установитеdomain
поле кkCFStreamErrorDomainCustom
иerror
поле к надлежащему значению.Обсуждение
Это функционирует, останавливает поиск, запущенный предыдущим вызовом к
CFNetServiceBrowserSearchForDomains
илиCFNetServiceBrowserSearchForServices
. Для асинхронных и синхронных поисков, вызывая эту функцию заставляет функцию обратного вызова, связанную с CFNetServiceBrowser быть вызванной один раз для каждого домена или найденной службы. Если поиск является асинхронным,error
передается функции обратного вызова. Если поиск синхронен, вызывая эту функцию причиныCFNetServiceBrowserSearchForDomains
илиCFNetServiceBrowserSearchForServices
возвратитьсяFALSE
. Еслиerror
параметр для любого вызова указал на aCFStreamError
структура,CFStreamError
когда эта функция была вызвана, структура содержит код ошибки и домен кода ошибки, как установлено.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
При остановке асинхронного поиска, прежде, чем вызвать эту функцию, вызвать
CFNetServiceBrowserUnscheduleFromRunLoop
, сопровождаемыйCFNetServiceBrowserInvalidate
.Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Не планирует CFNetServiceBrowser от цикла выполнения и режима.
Объявление
Swift
func CFNetServiceBrowserUnscheduleFromRunLoop(_
browser
: CFNetServiceBrowser!, _runLoop
: CFRunLoop!, _runLoopMode
: CFString!)Objective C
void CFNetServiceBrowserUnscheduleFromRunLoop ( CFNetServiceBrowserRef browser, CFRunLoopRef runLoop, CFStringRef runLoopMode );
Параметры
browser
CFNetServiceBrowser, который должен быть не запланирован; не может быть
NULL
.runLoop
Цикл выполнения; не может быть
NULL
.runLoopMode
Режим, от которого браузер должен быть не запланирован; не может быть
NULL
.Обсуждение
Вызовите эту функцию для закрытия браузера, работающего асинхронно. Для завершения завершения работы вызвать
CFNetServiceBrowserInvalidate
сопровождаемыйCFNetServiceBrowserStopSearch
.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Отменяет регистрацию службы или разрешение службы.
Объявление
Swift
func CFNetServiceCancel(_
theService
: CFNetService!)Objective C
void CFNetServiceCancel ( CFNetServiceRef theService );
Параметры
theService
CFNetService, полученный путем предыдущего вызова
CFNetServiceCreate
, для которого должны быть отменены регистрация или разрешение.Обсуждение
Эта функция отменяет регистрацию службы, запущенную
CFNetServiceRegister
, таким образом, делая службу недоступной. Это также отменяет разрешения службы, запущенныеCFNetServiceResolve
.Если Вы закрываете асинхронную службу, необходимо сначала вызвать
CFNetServiceUnscheduleFromRunLoop
иCFNetServiceSetClient
сclientCB
набор кNULL.
Тогда вызовите эту функцию.Если Вы закрываете синхронную службу, вызываете эту функцию от другого потока.
Эта функция также отменяет разрешения службы. Вы хотели бы отменить разрешение службы, если Ваша функция обратного вызова получила IP-адрес, который Вы успешно раньше подключали к службе. Кроме того, Вы могли бы хотеть отменить разрешение службы, если бы разрешение занимает больше времени, чем пользователь хотел бы ожидать или если пользователь отменил работу.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Использование TXT записывает данные для создания словаря.
Объявление
Swift
func CFNetServiceCreateDictionaryWithTXTData(_
alloc
: CFAllocator!, _txtRecord
: CFData!) -> Unmanaged<CFDictionary>!Objective C
CFDictionaryRef CFNetServiceCreateDictionaryWithTXTData ( CFAllocatorRef alloc, CFDataRef txtRecord );
Параметры
alloc
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.txtRecord
TXT записывают данные, как возвращено
CFNetServiceGetTXTData
.Возвращаемое значение
Словарь, содержащий пары ключ/значение, проанализированные от
txtRecord
, илиNULL
еслиtxtRecord
не может быть проанализирован. Каждый ключ в словаре является объектом CFString, и каждое значение является объектом CFData. Владение соблюдает Создать Правило.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.4 OS X и позже.
-
Сглаживает ряд пар ключ/значение в CFDataRef, подходящий для передачи
CFNetServiceSetTXTData
.Объявление
Swift
func CFNetServiceCreateTXTDataWithDictionary(_
alloc
: CFAllocator!, _keyValuePairs
: CFDictionary!) -> Unmanaged<CFData>!Objective C
CFDataRef CFNetServiceCreateTXTDataWithDictionary ( CFAllocatorRef alloc, CFDictionaryRef keyValuePairs );
Параметры
alloc
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.keyValuePairs
CFDictionaryRef, содержащий пары ключ/значение, которые должны быть помещены в запись TXT. Каждым ключом должен быть CFStringRef, и каждым значением должен быть CFDataRef или CFStringRef. (См. обсуждение ниже для получения дополнительной информации о значениях, которые являются CFStringRefs.) Если какие-либо другие типы данных предоставлены, эта функция перестала работать. Длина ключа и его значения не должна превышать 255 байтов.
Возвращаемое значение
Объект CFData, содержащий сглаженную форму
keyValuePairs
, илиNULL
если не мог бы быть сглажен словарь. Владение соблюдает Создать Правило.Обсуждение
Эта функция сглаживает пары ключ/значение в словаре, указанном
keyValuePairs
в CFDataRef, подходящий для передачиCFNetServiceSetTXTData
. Обратите внимание на то, что эта функция не является функцией общего назначения для выравнивания CFDictionaryRefs.Ключи в словаре, на который ссылаются
keyValuePairs
должен быть CFStringRefs, и значениями должен быть CFDataRefs. Любые значения, которые являются CFStringRefs, преобразовываются в CFDataRefs, представляющий сглаженные байты UTF-8 строки. Типы значений не кодируются в CFDataRefs, таким образом, любые CFStringRefs, преобразовывающиеся в CFDataRefs, остаются CFDataRefs, когда CFDataRef, произведенный этой функцией, обрабатываетсяCFNetServiceCreateDictionaryWithTXTData
.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Получает IP-адресацию от CFNetService.
Объявление
Swift
func CFNetServiceGetAddressing(_
theService
: CFNetService!) -> Unmanaged<CFArray>!Objective C
CFArrayRef CFNetServiceGetAddressing ( CFNetServiceRef theService );
Параметры
theService
CFNetService, IP-адресация которого должна быть получена; не может быть
NULL
.Возвращаемое значение
CFArray, содержащий CFDataRef для каждого IP-адреса, возвратился, или
NULL
. Каждый CFDataRef состоит из asockaddr
структура, содержащая IP-адрес службы. Эта функция возвратыNULL
если обращение службы неизвестно потому чтоCFNetServiceResolve
не требовалсяtheService
.Обсуждение
Эта функция получает IP-адресацию от CFNetService. Как правило, CFNetService был получен путем вызова
CFNetServiceBrowserSearchForServices
. Прежде, чем вызвать эту функцию, вызватьCFNetServiceResolve
обновить CFNetService с его IP-адресацией.Специальные замечания
Эта функция получает данные ориентированным на многопотоковое исполнение способом, но сами данные не безопасны, если служба изменена от другого потока.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Запрашивает CFNetService для его целевых узлов.
Объявление
Swift
func CFNetServiceGetTargetHost(_
theService
: CFNetService!) -> Unmanaged<CFString>!Objective C
CFStringRef CFNetServiceGetTargetHost ( CFNetServiceRef theService );
Параметры
theService
Сетевая служба, которая будет запрошена.
Возвращаемое значение
Имя целевого узла машины, предоставляющей услугу или
NULL
имеет целевой узел службы, не известен. (Целевой узел не будет известен, если он не был разрешен.)Специальные замечания
Эта функция ориентирована на многопотоковое исполнение, но имя целевого узла не безопасно, если служба изменена от другого потока.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.4 OS X и позже.
-
Получает домен от CFNetService.
Объявление
Swift
func CFNetServiceGetDomain(_
theService
: CFNetService!) -> Unmanaged<CFString>!Objective C
CFStringRef CFNetServiceGetDomain ( CFNetServiceRef theService );
Параметры
theService
CFNetService, домен которого должен быть получен; не может быть
NULL
.Возвращаемое значение
Объект CFString, содержащий домен CFNetService.
Обсуждение
Эта функция получает домен от CFNetService.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение. Функция получает данные ориентированным на многопотоковое исполнение способом, но данные не безопасны, если служба изменена от другого потока.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Завоевывает репутацию от CFNetService.
Объявление
Swift
func CFNetServiceGetName(_
theService
: CFNetService!) -> Unmanaged<CFString>!Objective C
CFStringRef CFNetServiceGetName ( CFNetServiceRef theService );
Параметры
theService
CFNetService, имя которого должно быть получено; не может быть
NULL
.Возвращаемое значение
Объект CFString, содержащий имя службы, представлен CFNetService.
Обсуждение
Эта функция завоевывает репутацию от CFNetService.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение. Функция получает данные ориентированным на многопотоковое исполнение способом, но данные не безопасны, если служба изменена от другого потока.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Эта функция получает номер порта от CFNetService.
Объявление
Swift
func CFNetServiceGetPortNumber(_
theService
: CFNetService!) -> Int32Objective C
SInt32 CFNetServiceGetPortNumber ( CFNetServiceRef theService );
Параметры
theService
CFNetService, специфичная для протокола информация которого должна быть получена; не может быть
NULL
. Обратите внимание на то, что для получения специфичной для протокола информации, необходимо решитьtheService
путем вызоваCFNetServiceResolve
илиCFNetServiceResolveWithTimeout
прежде, чем вызвать эту функцию.Возвращаемое значение
Номер порта службы.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в OS X v10.5 и позже.
-
CFNetServiceGetProtocolSpecificInformation CFNetServiceGetProtocolSpecificInformation
Осуждаемый в версии 10.4 OS XЭта функция получает специфичную для протокола информацию от CFNetService.
Оператор осуждения
Использовать
CFNetServiceGetTXTData
вместо этого.Объявление
Objective C
CFStringRef CFNetServiceGetProtocolSpecificInformation ( CFNetServiceRef theService );
Параметры
theService
CFNetService, специфичная для протокола информация которого должна быть получена; не может быть
NULL
. Обратите внимание на то, что для получения специфичной для протокола информации, необходимо решитьtheService
путем вызоваCFNetServiceResolve
илиCFNetServiceResolveWithTimeout
прежде, чем вызвать эту функцию.Возвращаемое значение
Объект CFString, содержащий специфичную для протокола информацию, или
NULL
если нет никакой информации.Специальные замечания
Эта функция получает данные ориентированным на многопотоковое исполнение способом, но сами данные не безопасны, если служба изменена от другого потока.
Оператор импорта
Objective C
@import CFNetwork;
Доступность
Доступный в версии 10.2 OS X и позже.
Осуждаемый в версии 10.4 OS X.
-
Запрашивает сетевую службу для содержания ее записей TXT.
Объявление
Swift
func CFNetServiceGetTXTData(_
theService
: CFNetService!) -> Unmanaged<CFData>!Objective C
CFDataRef CFNetServiceGetTXTData ( CFNetServiceRef theService );
Параметры
theService
Ссылка для сетевой службы, данные записи TXT которой должны быть получены; не может быть
NULL
. Обратите внимание на то, что для получения, TXT записывают данные, необходимо решитьtheService
путем вызоваCFNetServiceResolve
илиCFNetServiceResolveWithTimeout
прежде, чем вызвать эту функцию.Возвращаемое значение
Объект CFDataRef, содержащий запрошенные данные TXT и подходящий для передачи
CFNetServiceCreateDictionaryWithTXTData
, илиNULL
если не были разрешены данные службы TXT.Обсуждение
Эта функция получает данные от записей TXT службы.
Специальные замечания
Эта функция получает данные ориентированным на многопотоковое исполнение способом, но сами данные не безопасны, если служба изменена от другого потока.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.4 OS X и позже.
-
Получает тип от CFNetService.
Объявление
Swift
func CFNetServiceGetType(_
theService
: CFNetService!) -> Unmanaged<CFString>!Objective C
CFStringRef CFNetServiceGetType ( CFNetServiceRef theService );
Параметры
theService
CFNetService, тип которого должен быть получен; не может быть
NULL
.Возвращаемое значение
Объект CFString, содержащий тип от CFNetService.
Обсуждение
Эта функция получает тип CFNetService.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение. Функция получает данные ориентированным на многопотоковое исполнение способом, но данные не безопасны, если служба изменена от другого потока.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Лишает законной силы экземпляр объекта монитора Сетевой службы.
Объявление
Swift
func CFNetServiceMonitorInvalidate(_
monitor
: CFNetServiceMonitor!)Objective C
void CFNetServiceMonitorInvalidate ( CFNetServiceMonitorRef monitor );
Параметры
monitor
CFNetServiceMonitor для лишения законной силы; не может быть
NULL
.Обсуждение
Эта функция лишает законной силы указанный монитор Сетевой службы так, чтобы это не могло использоваться снова. Прежде чем Вы вызовете эту функцию, необходимо вызвать
CFNetServiceMonitorStop
. Если монитор не был уже остановлен, эта функция останавливает монитор для Вас.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.4 OS X и позже.
-
Планирует CFNetServiceMonitor на цикл выполнения.
Объявление
Swift
func CFNetServiceMonitorScheduleWithRunLoop(_
theService
: CFNetServiceMonitor!, _runLoop
: CFRunLoop!, _runLoopMode
: CFString!)Objective C
void CFNetServiceMonitorScheduleWithRunLoop ( CFNetServiceMonitorRef monitor, CFRunLoopRef runLoop, CFStringRef runLoopMode );
Параметры
theService
CFNetServiceMonitor, который должен быть запланирован на цикл выполнения; не может быть
NULL
.runLoop
Цикл выполнения, на который должен быть запланирован монитор; не может быть
NULL
.runLoopMode
Режим, на который можно запланировать монитор; не может быть
NULL
.Обсуждение
Планирует указанный монитор на цикл выполнения, помещающий монитор в асинхронный режим. Вызывающая сторона ответственна за обеспечение, что выполняется по крайней мере один из циклов выполнения, на которые планируется монитор.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.4 OS X и позже.
-
Начинает контролировать.
Объявление
Swift
func CFNetServiceMonitorStart(_
monitor
: CFNetServiceMonitor!, _recordType
: CFNetServiceMonitorType, _error
: UnsafeMutablePointer<CFStreamError>) -> BooleanObjective C
Boolean CFNetServiceMonitorStart ( CFNetServiceMonitorRef monitor, CFNetServiceMonitorType recordType, CFStreamError *error );
Параметры
monitor
CFNetServiceMonitor, создаваемый путем вызова
CFNetServiceMonitorCreate
, это должно быть запущено.recordType
CFNetServiceMonitorType, указавший тип записи на монитор. Для возможных значений посмотрите Константы CFNetServiceMonitorType.
error
Указатель на a
CFStreamError
структура. Если ошибка происходит, на выводе, структураdomain
поле будет установлено в домен кода ошибки иerror
поле будет установлено в надлежащий код ошибки. Установите этот параметр наNULL
если Вы не хотите получать код ошибки и его домен.Возвращаемое значение
TRUE
если асинхронный монитор был запущен успешно.FALSE
если ошибка произошла при запуске асинхронного или синхронного монитора, или еслиCFNetServiceMonitorStop
был вызван для синхронного монитора.Обсуждение
Эта функция начинает контролировать для изменений в записях типа, указанного
recordType
. Если монитор уже работает за службой, связанной с указанным CFNetServiceMonitorRef, эта функция возвратыFALSE
.Для синхронных мониторов, это функциональные блоки, пока монитор не останавливается путем вызова
CFNetServiceMonitorStop
, когда, эта функция возвратыFALSE
.Для асинхронных мониторов, эта функция возвраты
TRUE
илиFALSE
В зависимости от того, запускается ли контроль успешно.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.4 OS X и позже.
-
Останавливает CFNetServiceMonitor.
Объявление
Swift
func CFNetServiceMonitorStop(_
monitor
: CFNetServiceMonitor!, _error
: UnsafeMutablePointer<CFStreamError>)Objective C
void CFNetServiceMonitorStop ( CFNetServiceMonitorRef monitor, CFStreamError *error );
Параметры
monitor
CFNetServiceMonitor, запущенный путем вызова
CFNetServiceMonitorStart
, это должно быть остановлено.error
Указатель на a
CFStreamError
структура илиNULL
. Для синхронных мониторов, наборerror
поле этой структуры к ненулевому значению Вы хотите быть установленными вCFStreamError
структура, когдаCFNetServiceMonitorStart
возвраты. Обратите внимание на то, что, когда это возвращается,CFNetServiceMonitorStart
возвратыFALSE.
Если монитор был запущен асинхронно, установитеerror
поле к ненулевому значению, которое Вы хотите, чтобы обратный вызов монитора получил, когда это вызывают. Если этот параметрNULL
, значения по умолчанию дляCFStreamError
структура используется: домен установлен вkCFStreamErrorDomainNetServices
и код ошибки установлен вkCFNetServicesErrorCancel
.Обсуждение
Эта функция останавливает указанный монитор. Вызвать
CFNetServiceMonitorStart
если Вы хотите начать контролировать снова.Если Вы хотите прекратить контролировать и больше не должны наблюдать рекордные изменения, вызвать
CFNetServiceMonitorInvalidate
вместо этой функции.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.4 OS X и позже.
-
Не планирует CFNetServiceMonitor от цикла выполнения.
Объявление
Swift
func CFNetServiceMonitorUnscheduleFromRunLoop(_
monitor
: CFNetServiceMonitor!, _runLoop
: CFRunLoop!, _runLoopMode
: CFString!)Objective C
void CFNetServiceMonitorUnscheduleFromRunLoop ( CFNetServiceMonitorRef monitor, CFRunLoopRef runLoop, CFStringRef runLoopMode );
Параметры
monitor
CFNetServiceMonitor, который должен быть не запланирован; не может быть
NULL
.runLoop
Цикл выполнения; не может быть
NULL
.runLoopMode
Режим, от которого монитор должен быть не запланирован; не может быть
NULL
.Обсуждение
Не планирует указанный монитор от указанного цикла выполнения и режима. Вызовите эту функцию для закрытия монитора, работающего асинхронно.
Для изменения монитора так, чтобы это не могло быть запланировано и так, чтобы его обратный вызов никогда не вызывали вызвать
CFNetServiceMonitorInvalidate
.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.4 OS X и позже.
-
CFNetServiceRegister CFNetServiceRegister
Осуждаемый в версии 10.4 OS XДелает CFNetService доступным в сети.
Оператор осуждения
Использовать
CFNetServiceRegisterWithOptions
вместо этого.Объявление
Objective C
Boolean CFNetServiceRegister ( CFNetServiceRef theService, CFStreamError *error );
Параметры
theService
CFNetService для регистрации; не может быть
NULL
. Если служба не будет иметь домена, типа, имени и IP-адреса, регистрация перестанет работать.error
Указатель на a
CFStreamError
структура, которая будет установлена в код ошибки и домен кода ошибки, если произойдет ошибка; илиNULL
если Вы не хотите получать код ошибки и его домен.Возвращаемое значение
TRUE
если была запущена асинхронная регистрация службы;FALSE
если синхронная регистрация была отменена, если асинхронная или синхронная регистрация перестала работать или.Обсуждение
Если служба должна работать в асинхронном режиме, необходимо вызвать
CFNetServiceSetClient
связать функцию обратного вызова с этим CFNetService прежде, чем вызвать эту функцию.При регистрации службы, работающей в асинхронном режиме, эта функция возвраты
TRUE
если служба содержит все требуемые атрибуты, и процесс регистрации может запуститься. Если процесс регистрации завершается успешно, служба доступна в сети, пока Вы не закрываете службу путем вызоваCFNetServiceUnscheduleFromRunLoop
,CFNetServiceSetClient
, иCFNetServiceCancel
. Если процесс регистрации не завершается успешно, эта функция возвраты, если служба не содержит все требуемые атрибуты илиFALSE
.При регистрации службы, работающей в синхронном режиме, это функциональные блоки, пока не происходит ошибка, когда возвращается эта функция
FALSE
. До этой функции возвратыFALSE
, служба доступна в сети. Вынудить эту функцию возвратитьсяFALSE
, таким образом, закрывая службу, вызватьCFNetServiceCancel
от другого потока.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Доступность
Доступный в версии 10.2 OS X и позже.
Осуждаемый в версии 10.4 OS X.
-
Делает CFNetService доступным в сети.
Объявление
Swift
func CFNetServiceRegisterWithOptions(_
theService
: CFNetService!, _options
: CFOptionFlags, _error
: UnsafeMutablePointer<CFStreamError>) -> BooleanObjective C
Boolean CFNetServiceRegisterWithOptions ( CFNetServiceRef theService, CFOptionFlags options, CFStreamError *error );
Параметры
theService
Сетевая служба для регистрации; не может быть
NULL
. Если служба не будет иметь домена, типа, имени и IP-адреса, регистрация перестанет работать.options
Битовые флаги для указания регистрационных опций. В настоящее время единственная регистрационная опция
kCFNetServiceFlagNoAutoRename
. Для получения дополнительной информации посмотрите Регистрационные Опции CFNetService.error
Указатель на a
CFStreamError
структура, которая будет установлена в код ошибки и домен кода ошибки, если произойдет ошибка; илиNULL
если Вы не хотите получать код ошибки и его домен.Возвращаемое значение
TRUE
если была запущена асинхронная регистрация службы;FALSE
если синхронная регистрация была отменена, если асинхронная или синхронная регистрация перестала работать или.Обсуждение
Если служба должна работать в асинхронном режиме, необходимо вызвать
CFNetServiceSetClient
связать функцию обратного вызова с этим CFNetService прежде, чем вызвать эту функцию.При регистрации службы, работающей в асинхронном режиме, эта функция возвраты
TRUE
если служба содержит все требуемые атрибуты, и процесс регистрации может запуститься. Если процесс регистрации завершается успешно, служба доступна в сети, пока Вы не закрываете службу путем вызоваCFNetServiceUnscheduleFromRunLoop
,CFNetServiceSetClient
, иCFNetServiceCancel
. Если процесс регистрации не завершается успешно, эта функция возвраты, если служба не содержит все требуемые атрибуты илиFALSE
.При регистрации службы, работающей в синхронном режиме, это функциональные блоки, пока не происходит ошибка, когда возвращается эта функция
FALSE
. До этой функции возвратыFALSE
, служба доступна в сети. Вынудить эту функцию возвратитьсяFALSE
, таким образом, закрывая службу, вызватьCFNetServiceCancel
от другого потока.options
параметр является небольшим количеством флага для указания регистрационных опций службы. В настоящее время,kCFNetServiceFlagNoAutoRename
единственная поддерживаемая регистрационная опция. Если этот бит будет установлен, и служба того же имени работает, то регистрация перестанет работать. Если этот бит не будет установлен, и служба того же имени работает, то регистрирующаяся служба будет переименована автоматически путем добавления(
n)
к имени службы, где n является постепенно увеличивающимся числом, пока служба не может быть зарегистрирована в уникальном имени.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.4 OS X и позже.
-
CFNetServiceResolve CFNetServiceResolve
Осуждаемый в версии 10.4 OS XЭта функция обновляет указанный CFNetService с IP-адресом или адресами, связанными со службой. Вызвать
CFNetServiceGetAddressing
получить адреса.Оператор осуждения
Использовать
CFNetServiceResolveWithTimeout
вместо этого.Объявление
Objective C
Boolean CFNetServiceResolve ( CFNetServiceRef theService, CFStreamError *error );
Параметры
theService
CFNetService для разрешения; не может быть
NULL
. Если служба не будет иметь домена, типа и имени, разрешение перестанет работать.error
Указатель на a
CFStreamError
структура, которая будет установлена в код ошибки и домен кода ошибки, если произойдет ошибка; илиNULL
если Вы не хотите получать код ошибки и его домен.Возвращаемое значение
TRUE
если синхронное разрешение службы обновило CFNetService, если асинхронное разрешение службы было запущено или;FALSE
если синхронное разрешение было отменено, если асинхронное или синхронное разрешение перестало работать или.Обсуждение
При разрешении службы, работающей в асинхронном режиме, эта функция возвраты
TRUE
если CFNetService имеет домен, введите, и имя, и базовый процесс разрешения был запущен. Иначе, эта функция возвратыFALSE
. После того, как запущенный, разрешение продолжается, пока оно не отменяется путем вызоваCFNetServiceCancel
.При разрешении службы, работающей в синхронном режиме, это функциональные блоки, пока CFNetService не обновляется по крайней мере с одним IP-адресом, пока ошибка не происходит, или до
CFNetServiceCancel
вызывается.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Если служба будет использоваться в асинхронном режиме, необходимо вызвать
CFNetServiceSetClient
прежде, чем вызвать эту функцию.Оператор импорта
Objective C
@import CFNetwork;
Доступность
Доступный в версии 10.2 OS X и позже.
Осуждаемый в версии 10.4 OS X.
-
Получает IP-адрес или адреса для CFNetService.
Объявление
Swift
func CFNetServiceResolveWithTimeout(_
theService
: CFNetService!, _timeout
: CFTimeInterval, _error
: UnsafeMutablePointer<CFStreamError>) -> BooleanObjective C
Boolean CFNetServiceResolveWithTimeout ( CFNetServiceRef theService, CFTimeInterval timeout, CFStreamError *error );
Параметры
theService
CFNetService для разрешения; не может быть
NULL
. Если служба не будет иметь домена, типа и имени, разрешение перестанет работать.timeout
Значение типа
CFTimeInterval
указание максимальной суммы времени позволило выполнять разрешение. Если разрешение не будет выполняться в указанном количестве времени, то ошибка из-за тайм-аута будет возвращена. Еслиtimeout
меньше чем или равно нулю, бесконечное количество времени позволяется.error
Указатель на a
CFStreamError
структура, которая будет установлена в код ошибки и домен кода ошибки, если произойдет ошибка; илиNULL
если Вы не хотите получать код ошибки и его домен.Возвращаемое значение
TRUE
если синхронное разрешение службы обновило CFNetService, если асинхронное разрешение службы было запущено или;FALSE
если синхронное разрешение было отменено, если асинхронное или синхронное разрешение перестало работать или испытало таймаут, или.Обсуждение
Эта функция обновляет указанный CFNetService с IP-адресом или адресами, связанными со службой. Вызвать
CFNetServiceGetAddressing
получить адреса.При разрешении службы, работающей в асинхронном режиме, эта функция возвраты
TRUE
если CFNetService имеет домен, введите, и имя, и базовый процесс разрешения был запущен. Иначе, эта функция возвратыFALSE
. После того, как запущенный, разрешение продолжается, пока оно не отменяется путем вызоваCFNetServiceCancel
.При разрешении службы, работающей в синхронном режиме, это функциональные блоки, пока CFNetService не обновляется по крайней мере с одним IP-адресом, пока ошибка не происходит, или до
CFNetServiceCancel
вызывается.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Если служба будет использоваться в асинхронном режиме, необходимо вызвать
CFNetServiceSetClient
прежде, чем вызвать эту функцию.Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.4 OS X и позже.
-
Планирует CFNetService на цикл выполнения.
Объявление
Swift
func CFNetServiceScheduleWithRunLoop(_
theService
: CFNetService!, _runLoop
: CFRunLoop!, _runLoopMode
: CFString!)Objective C
void CFNetServiceScheduleWithRunLoop ( CFNetServiceRef theService, CFRunLoopRef runLoop, CFStringRef runLoopMode );
Параметры
theService
CFNetService, который должен быть запланирован на цикл выполнения; не может быть
NULL
.runLoop
Цикл выполнения, на который должна быть запланирована служба; не может быть
NULL
.runLoopMode
Режим, на который можно запланировать службу; не может быть
NULL
.Обсуждение
Планирует указанную службу на цикл выполнения, помещающий службу в асинхронный режим. Вызывающая сторона ответственна за обеспечение, что выполняется по крайней мере один из циклов выполнения, на которые планируется служба.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Прежде, чем вызвать эту функцию, вызвать
CFNetServiceSetClient
подготавливать CFNetService к использованию в асинхронном режиме.Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Связывает функцию обратного вызова с CFNetService или разъединяет функцию обратного вызова с CFNetService.
Объявление
Swift
func CFNetServiceSetClient(_
theService
: CFNetService!, _clientCB
: CFNetServiceClientCallBack, _clientContext
: UnsafeMutablePointer<CFNetServiceClientContext>) -> BooleanObjective C
Boolean CFNetServiceSetClient ( CFNetServiceRef theService, CFNetServiceClientCallBack clientCB, CFNetServiceClientContext *clientContext );
Параметры
theService
CFNetService; не может быть
NULL
.clientCB
Функция обратного вызова, которая должна быть связана с этим CFNetService. Если Вы закрываете службу, набор
clientCB
кNULL
разъединять с этим CFNetService ранее связанную функцию обратного вызова.clientContext
Контекстная информация, которая будет использоваться, когда
clientCB
вызывается; не может бытьNULL
.Возвращаемое значение
TRUE
если был установлен клиент; иначе,FALSE
.Обсуждение
Функция обратного вызова, указанная
clientCB
будет вызван для создания отчетов о IP-адресах (в случаеCFNetServiceResolve
) или сообщить об ошибках при регистрации (в случаеCFNetServiceRegister
).Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Для CFNetService, который будет работать асинхронно, вызовите эту функцию и затем вызовите
CFNetServiceScheduleWithRunLoop
запланировать службу на цикл выполнения. Тогда вызовитеCFNetServiceRegister
илиCFNetServiceResolve
.Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Устанавливает рекорд TXT для CFNetService.
Объявление
Swift
func CFNetServiceSetTXTData(_
theService
: CFNetService!, _txtRecord
: CFData!) -> BooleanObjective C
Boolean CFNetServiceSetTXTData ( CFNetServiceRef theService, CFDataRef txtRecord );
Параметры
theService
CFNetServiceRef, для которого должен быть установлен рекорд TXT; не может быть
NULL
.txtRecord
Содержание рекорда TXT, который должен быть установлен. Содержание не должно превышать 1 450 байтов.
Возвращаемое значение
TRUE
если был установлен рекорд TXT; иначе,FALSE
.Обсуждение
Эта функция устанавливает рекорд TXT для указанной службы. Если служба в настоящее время регистрируется в сети, запись широковещательно передается. Устанавливание рекорда TXT на все еще разрешающейся службе не позволяется.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.4 OS X и позже.
-
Не планирует CFNetService от цикла выполнения.
Объявление
Swift
func CFNetServiceUnscheduleFromRunLoop(_
theService
: CFNetService!, _runLoop
: CFRunLoop!, _runLoopMode
: CFString!)Objective C
void CFNetServiceUnscheduleFromRunLoop ( CFNetServiceRef theService, CFRunLoopRef runLoop, CFStringRef runLoopMode );
Параметры
theService
CFNetService, который должен быть не запланирован; не может быть
NULL
.runLoop
Цикл выполнения; не может быть
NULL
.runLoopMode
Режим, от которого служба должна быть не запланирована; не может быть
NULL
.Обсуждение
Не планирует указанную службу от указанного цикла выполнения и режима. Вызовите эту функцию для закрытия службы, работающей асинхронно. Для завершения завершения работы вызвать
CFNetServiceSetClient
и наборclientCB
кNULL
. Тогда вызовитеCFNetServiceCancel
.Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
CFNetServiceSetProtocolSpecificInformation CFNetServiceSetProtocolSpecificInformation
Осуждаемый в версии 10.4 OS XУстанавливает специфичную для протокола информацию для CFNetService.
Оператор осуждения
Использовать
CFNetServiceSetTXTData
вместо этого.Объявление
Objective C
void CFNetServiceSetProtocolSpecificInformation ( CFNetServiceRef theService, CFStringRef theInfo );
Параметры
theService
CFNetService, специфичная для протокола информация которого должна быть установлена; не может быть
NULL
.theInfo
Специфичная для протокола информация, которая будет установлена. Передача
NULL
удалить специфичную для протокола информацию из службы.Обсуждение
Специфичная для протокола информация появляется в DNS записи TXT для службы. Каждая запись TXT состоит из нуля или большего количества строк, упакованных вместе без любых прошедших разрывов или дополнительных байтов для выравнивания слов. Формат каждой составляющей строки является единственным байтом длины, сопровождаемым нулем к 255 байтам текстовых данных.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Доступность
Доступный в версии 10.2 OS X и позже.
Осуждаемый в версии 10.4 OS X.
-
Получает Базовый идентификатор типа Основы для объекта Сетевой службы.
Объявление
Swift
func CFNetServiceGetTypeID() -> CFTypeID
Objective C
CFTypeID CFNetServiceGetTypeID ( void );
Возвращаемое значение
Идентификатор типа.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Получает Базовый идентификатор типа Основы для всех экземпляров CFNetServiceMonitor.
Объявление
Swift
func CFNetServiceMonitorGetTypeID() -> CFTypeID
Objective C
CFTypeID CFNetServiceMonitorGetTypeID ( void );
Возвращаемое значение
Идентификатор типа.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Получает Базовый идентификатор типа Основы для объекта браузера Сетевой службы.
Объявление
Swift
func CFNetServiceBrowserGetTypeID() -> CFTypeID
Objective C
CFTypeID CFNetServiceBrowserGetTypeID ( void );
Возвращаемое значение
Идентификатор типа.
Специальные замечания
Эта функция ориентирована на многопотоковое исполнение.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Определяет указатель на функцию обратного вызова для CFNetServiceBrowser.
Объявление
Swift
typealias CFNetServiceBrowserClientCallBack = CFunctionPointer<((CFNetServiceBrowser!, CFOptionFlags, AnyObject!, UnsafeMutablePointer<CFStreamError>, UnsafeMutablePointer<Void>) -> Void)>
Objective C
typedef void (*CFNetServiceBrowserClientCallBack) ( CFNetServiceBrowserRef browser, CFOptionFlags flags, CFTypeRef domainOrService, CFStreamError * error, void* info);
Параметры
browser
CFNetServiceBrowser связался с этой функцией обратного вызова.
flags
Флаги, передающие дополнительную информацию.
kCFNetServiceFlagIsDomain
бит установлен еслиdomainOrService
содержит домен; если этот бит не установлен,domainOrService
содержит экземпляр CFNetService. Для значений дополнительного бита посмотрите Битовые флаги CFNetServiceBrowserClientCallBack.domainOrService
Строка, содержащая доменное имя, если эту функцию обратного вызова вызывают в результате вызова
CFNetServiceBrowserSearchForDomains
, или экземпляр CFNetService, если эту функцию обратного вызова вызывают, в результате вызываяCFNetServiceBrowserSearchForServices
.error
Указатель на a
CFStreamError
структура, чейerror
поле может содержать код ошибки.info
Определяемая пользователем контекстная информация. Значение
info
совпадает со значениемinfo
полеCFNetServiceClientContext
структура, которая была предоставлена когдаCFNetServiceBrowserCreate
был вызван для создания CFNetServiceBrowser, связанного с этой функцией обратного вызова.Обсуждение
Когда домены или службы найдены как результат вызова, функцию обратного вызова для CFNetServiceBrowser вызывают один или несколько раз
CFNetServiceBrowserSearchForDomains
иCFNetServiceBrowserSearchForServices
.Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Определяет указатель на функцию обратного вызова для CFNetService.
Объявление
Swift
typealias CFNetServiceClientCallBack = CFunctionPointer<((CFNetService!, UnsafeMutablePointer<CFStreamError>, UnsafeMutablePointer<Void>) -> Void)>
Objective C
typedef void (*CFNetServiceClientCallBack) ( CFNetServiceRef theService, CFStreamError * error, void* info);
Параметры
theService
CFNetService связался с этой функцией обратного вызова.
error
Указатель на a
CFStreamError
структура, чейerror
поле содержит, может содержать код ошибки.info
Определяемая пользователем контекстная информация. Значение
info
совпадает со значениемinfo
полеCFNetServiceClientContext
структура, которая была предоставлена когдаCFNetServiceSetClient
был вызван для CFNetService, связанного с этой функцией обратного вызова.Обсуждение
Вашу функцию обратного вызова вызовут, когда будут результаты разрешения CFNetService для создания отчетов или когда существуют ошибки при регистрации для создания отчетов. В случае разрешения, если служба имеет больше чем один IP-адрес, Ваш обратный вызов вызовут один раз для каждого адреса.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Определяет указатель на функцию обратного вызова, которую нужно вызвать когда наблюдаемый тип записи изменения.
Объявление
Swift
typealias CFNetServiceMonitorClientCallBack = CFunctionPointer<((CFNetServiceMonitor!, CFNetService!, CFNetServiceMonitorType, CFData!, UnsafeMutablePointer<CFStreamError>, UnsafeMutablePointer<Void>) -> Void)>
Objective C
typedef void (*CFNetServiceMonitorClientCallBack) ( CFNetServiceMonitorRef theMonitor, CFNetServiceRef theService, CFNetServiceMonitorType typeInfo, CFDataRef rdata, CFStreamError * error, void* info);
Параметры
theMonitor
CFNetServiceMonitor, для которого вызывают обратный вызов.
theService
CFNetService, для которого вызывают обратный вызов.
typeInfo
Тип изменившейся записи. Для возможных значений посмотрите Константы CFNetServiceMonitorType.
rdata
Содержание изменившейся записи.
error
Указатель на
CFStreamError
структура, чейerror
если ошибка произошла, поле содержит код ошибки.info
Произвольный указатель на определяемые пользователем данные, указанные в
info
полеCFNetServiceClientContext
структура, когда монитор создавалсяCFNetServiceMonitorCreate
.Обсуждение
Функцию обратного вызова вызовут, когда наблюдаемые изменения типа записи или когда монитор будет остановлен путем вызова
CFNetServiceMonitorStop
.Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Непрозрачная ссылка, представляющая CFNetServiceBrowser.
Объявление
Swift
typealias CFNetServiceBrowserRef = CFNetServiceBrowser
Objective C
typedef struct __CFNetServiceBrowser* CFNetServiceBrowserRef;
Доступность
Доступный в версии 10.2 OS X и позже.
-
Структура обеспечила, когда CFNetService связан с функцией обратного вызова или когда создается CFNetServiceBrowser.
Объявление
Swift
struct CFNetServiceClientContext { var version: CFIndex var info: UnsafeMutablePointer<Void> var retain: CFAllocatorRetainCallBack var release: CFAllocatorReleaseCallBack var copyDescription: CFAllocatorCopyDescriptionCallBack }
Objective C
struct CFNetServiceClientContext { CFIndex version; void *info; CFAllocatorRetainCallBack retain; CFAllocatorReleaseCallBack release; CFAllocatorCopyDescriptionCallBack copyDescription; }; typedef struct CFNetServiceClientContext CFNetServiceClientContext;
Поля
version
Номер версии для этой структуры. В настоящее время единственное допустимое значение является нулем.
info
Произвольный указатель на выделенную пользователями память, содержащую определяемые пользователем данные, связанные со службой, браузером или монитором и передающиеся их соответствующим функциям обратного вызова. Данные должны быть допустимыми столько, сколько CFNetService, CFNetServiceBrowser или CFNetServiceMonitor допустимы. Установите это поле в
NULL
если Ваша функция обратного вызова не хочет получать определяемые пользователем данные.retain
Обратный вызов раньше добавлял сохранение для использование браузера или службы
info
для жизни службы или браузера. Этот обратный вызов может использоваться для временных ссылок, которые должны взять служба или браузер. Этот обратный вызов возвращает фактическоеinfo
указатель, таким образом, это может быть сохранено в службе или браузере. Это поле может бытьNULL
.release
Обратный вызов, удаляющий сохранение ранее добавленного для службы или браузера на
info
указатель. Это поле может бытьNULL
, но устанавливая это поле вNULL
может привести к утечкам памяти.copyDescription
Обратный вызов раньше создавал представление описательной строки данных, которыми указывают
info
. В реализации этой функции возвратите ссылку на объект CFString, описывающий Ваше средство выделения и некоторые характеристики Ваших определяемых пользователем данных, использующихсяCFCopyDescription()
. Можно установить это поле вNULL
, когда Базовая Основа предоставит элементарное описание.Доступность
Доступный в версии 10.2 OS X и позже.
-
Непрозрачная ссылка для монитора служб.
Объявление
Swift
typealias CFNetServiceMonitorRef = CFNetServiceMonitor
Objective C
typedef struct __CFNetServiceMonitor* CFNetServiceMonitorRef;
Обсуждение
Ссылки монитора служб используются для наблюдения рекордных изменений на CFNetServiceRef.
Доступность
Доступный в версии 10.4 OS X и позже.
-
Непрозрачная ссылка, представляющая CFNetService.
Объявление
Swift
typealias CFNetServiceRef = CFNetService
Objective C
typedef struct __CFNetService* CFNetServiceRef;
Доступность
Доступный в версии 10.2 OS X и позже.
-
Битовые флаги, используемые при регистрации службы.
Объявление
Swift
struct CFNetServiceRegisterFlags : RawOptionSetType { init(_
rawValue
: CFOptionFlags) init(rawValuerawValue
: CFOptionFlags) static var FlagNoAutoRename: CFNetServiceRegisterFlags { get } }Objective C
enum { kCFNetServiceFlagNoAutoRename = 1 };
Константы
-
FlagNoAutoRename
kCFNetServiceFlagNoAutoRename
Регистрация причин, чтобы перестать работать, если происходит конфликт имен.
Доступный в OS X v10.4 и позже.
Доступность
Доступный в версии 10.2 OS X и позже.
-
-
Битовые флаги, предоставляющие дополнительную информацию о результате, возвратились когда клиент
CFNetServiceBrowserClientCallBack
функция вызвана.Объявление
Swift
struct CFNetServiceBrowserFlags : RawOptionSetType { init(_
rawValue
: CFOptionFlags) init(rawValuerawValue
: CFOptionFlags) static var MoreComing: CFNetServiceBrowserFlags { get } static var IsDomain: CFNetServiceBrowserFlags { get } static var IsDefault: CFNetServiceBrowserFlags { get } static var IsRegistrationDomain: CFNetServiceBrowserFlags { get } static var Remove: CFNetServiceBrowserFlags { get } }Objective C
enum { kCFNetServiceFlagMoreComing = 1, kCFNetServiceFlagIsDomain = 2, kCFNetServiceFlagIsDefault = 4, kCFNetServiceFlagIsRegistrationDomain = 4, /* For compatibility */ kCFNetServiceFlagRemove = 8 };
Константы
-
MoreComing
kCFNetServiceFlagMoreComing
Если установлено, подсказка, что функцию обратного вызова клиента вызовут снова скоро; поэтому, клиент не должен делать ничего длительного, такого как обновление экрана.
Доступный в OS X v10.2 и позже.
-
IsDomain
kCFNetServiceFlagIsDomain
Если установлено, результаты принадлежат поиску доменов. Если не набор, результаты принадлежат поиску служб.
Доступный в OS X v10.2 и позже.
-
IsDefault
kCFNetServiceFlagIsDefault
Если установлено, получающийся домен является регистрацией по умолчанию или доменом обзора, в зависимости от контекста. Для этой версии CFNetServices API регистрационный домен по умолчанию является локальным доменом. В предыдущих версиях этого API эта константа была
kCFNetServiceFlagIsRegistrationDomain
, который сохраняется для обратной совместимости.Доступный в OS X v10.4 и позже.
-
Remove
kCFNetServiceFlagRemove
Если установлено, клиент должен удалить элемент результата вместо того, чтобы добавить его.
Доступный в OS X v10.2 и позже.
Обсуждение
Посмотрите
CFNetServiceBrowserClientCallBack
для получения дополнительной информации.Доступность
Доступный в версии 10.2 OS X и позже.
-
-
Спецификатор типа записи раньше говорил монитору служб тип рекордных изменений для наблюдения за.
Объявление
Swift
enum CFNetServiceMonitorType : Int32 { case TXT }
Objective C
enum { kCFNetServiceMonitorTXT = 1 } typedef enum CFNetServiceMonitorType CFNetServiceMonitorType;
Константы
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
Коды ошибки, которые могут быть возвращены функциями CFNetServices или переданы функциям обратного вызова CFNetServices.
Объявление
Swift
enum CFNetServicesError : Int32 { case Unknown case Collision case NotFound case InProgress case BadArgument case Cancel case Invalid case Timeout }
Objective C
typedef enum { kCFNetServicesErrorUnknown = -72000, kCFNetServicesErrorCollision = -72001, kCFNetServicesErrorNotFound = -72002, kCFNetServicesErrorInProgress = -72003, kCFNetServicesErrorBadArgument = -72004, kCFNetServicesErrorCancel = -72005, kCFNetServicesErrorInvalid = -72006, kCFNetServicesErrorTimeout = -72007 } CFNetServicesError;
Константы
-
Unknown
kCFNetServicesErrorUnknown
Произошла неизвестная ошибка CFNetService.
Доступный в OS X v10.2 и позже.
-
Collision
kCFNetServicesErrorCollision
Попытка была предпринята для использования уже использующегося имени.
Доступный в OS X v10.2 и позже.
-
NotFound
kCFNetServicesErrorNotFound
Не используемый.
Доступный в OS X v10.2 и позже.
-
InProgress
kCFNetServicesErrorInProgress
Поиск уже происходит.
Доступный в OS X v10.2 и позже.
-
BadArgument
kCFNetServicesErrorBadArgument
Обязательный аргумент не был предоставлен.
Доступный в OS X v10.2 и позже.
-
Cancel
kCFNetServicesErrorCancel
Поиск или служба были отменены.
Доступный в OS X v10.2 и позже.
-
Invalid
kCFNetServicesErrorInvalid
Недопустимые данные были переданы функции CFNetServices.
Доступный в OS X v10.2 и позже.
-
Timeout
kCFNetServicesErrorTimeout
Разрешение перестало работать, потому что был достигнут тайм-аут.
Доступный в OS X v10.4 и позже.
Оператор импорта
Objective C
@import CFNetwork;
Swift
import CFNetwork
Доступность
Доступный в версии 10.2 OS X и позже.
-
-
Ошибочные домены.
Объявление
Swift
let kCFStreamErrorDomainMach: Int32 let kCFStreamErrorDomainNetServices: Int32
Objective C
extern const SInt32 kCFStreamErrorDomainMach; extern const SInt32 kCFStreamErrorDomainNetServices;
Константы
-
kCFStreamErrorDomainMach
kCFStreamErrorDomainMach
Ошибки возврата домена Error, о которых сообщает Мах. Для получения дополнительной информации посмотрите заголовочный файл
/usr/include/mach/error.h
.Доступный в версии 10.5 OS X и позже.
-
kCFStreamErrorDomainNetServices
kCFStreamErrorDomainNetServices
Ошибки возврата домена Error, о которых сообщает открытие службы APIs. Если Вы используете, эти ошибки только возвращаются
CFNetServiceBrowser
API или любой APIs, представленный в OS X v10.4 или позже.Доступный в версии 10.5 OS X и позже.
-