NSNetServiceBrowser
NSNetServiceBrowser
класс определяет интерфейс для нахождения, что опубликованные службы на сеть с помощью многоадресно передают DNS. Экземпляр NSNetServiceBrowser
известен как браузер сетевой службы.
Службы могут колебаться от стандартных служб, таких как HTTP и FTP, к службам поддержки, определенным другими приложениями. Можно использовать браузер сетевой службы в коде, чтобы получить список доступных доменов и затем получить NSNetService
объект для каждой обнаруженной службы. Каждый браузер сетевой службы выполняет один поиск за один раз, поэтому если Вы хотите выполнить многократные одновременные поиски, используйте многократные браузеры сетевой службы.
Браузер сетевой службы выполняет все поиски асинхронно с помощью текущего цикла выполнения для выполнения поиска в фоновом режиме. Результаты поиска возвращаются через связанный объект делегата, который должно обеспечить Ваше клиентское приложение. При поиске доходов в фоновом режиме, пока объект не получает a stop
сообщение.
Использовать NSNetServiceBrowser
возразите, чтобы искать службы, выделить его, инициализировать его и присвоить делегата. (При необходимости можно также использовать scheduleInRunLoop:forMode:
и removeFromRunLoop:forMode:
методы для выполнения поисков на цикле выполнения кроме текущего.), Как только Ваш объект готов, Вы начинаете путем сбора списка доступных доменов с помощью любого searchForRegistrationDomains
или searchForBrowsableDomains
методы. Из списка возвращенных доменов можно выбрать один и использовать searchForServicesOfType:inDomain:
метод для поиска служб в том домене.
NSNetServiceBrowser
класс обеспечивает два способа искать домены. В большинстве случаев Ваш клиент должен использовать searchForRegistrationDomains
метод для поиска только локальные домены, к которым хост-машина имеет регистрационные полномочия. Это - предпочтительный метод для доступа к доменам, поскольку это гарантирует, что хост-машина может соединиться со службами в возвращенных доменах. Доступ к доменам вне этого списка может быть более ограничен.
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.2 и позже.
-
Инициализирует выделенный
NSNetServiceBrowser
объект.Объявление
Swift
init()
Objective C
- (instancetype)init
Возвращаемое значение
Инициализированный
NSNetServiceBrowser
объект.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
-
Объект делегата для этого экземпляра.
Объявление
Swift
unowned(unsafe) var delegate: NSNetServiceBrowserDelegate?
Objective C
@property(assign) id< NSNetServiceBrowserDelegate > delegate
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
-
Инициирует поиск доменов, видимых к узлу. Этот метод сразу возвращается.
Объявление
Swift
func searchForBrowsableDomains()
Objective C
- (void)searchForBrowsableDomains
Обсуждение
Делегат получает a
netServiceBrowser:didFindDomain:moreComing:
сообщение для каждого домена обнаружено.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Инициирует поиск доменов, в которых узел может зарегистрировать службы.
Объявление
Swift
func searchForRegistrationDomains()
Objective C
- (void)searchForRegistrationDomains
Обсуждение
Этот метод сразу возвращается, отправляя a
netServiceBrowserWillSearch:
обменивайтесь сообщениями делегату, если сеть была готова инициировать поиск. Делегат получает последующееnetServiceBrowser:didFindDomain:moreComing:
сообщение для каждого домена обнаружено.Большинство клиентов браузера сетевой службы не должно использовать этот метод — достаточно опубликовать службу с пустой строкой, регистрирующей его в любых доступных регистрационных доменах автоматически.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
См. также
– searchForBrowsableDomains
– searchForServicesOfType:inDomain:
netServiceBrowser:didFindDomain:moreComing:
(NSNetServerBrowserDelegate)netServiceBrowserWillSearch:
(NSNetServerBrowserDelegate) -
searchForAllDomains - searchForAllDomains
(OS X v10.4)Инициирует поиск всех доменов, которые видимы к узлу.
Оператор осуждения
Этот метод был осужден. Использовать
searchForBrowsableDomains
илиsearchForRegistrationDomains
вместо этого.Объявление
Objective C
- (void)searchForAllDomains
Обсуждение
Этот метод сразу возвращается, отправляя a
netServiceBrowserWillSearch:
обменивайтесь сообщениями делегату, если сеть была готова инициировать поиск. Делегат получает последующееnetServiceBrowser:didFindDomain:moreComing:
сообщение для каждого домена обнаружено.Этот метод может найти домены, в которых localhost не имеет регистрационных полномочий.
Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.2 и позже.
Осуждаемый в OS X v10.4.
См. также
– searchForRegistrationDomains
netServiceBrowser:didFindDomain:moreComing:
(NSNetServiceBrowserDelegate) -
Запускает поиск служб определенного типа в определенном домене.
Объявление
Параметры
serviceType
Тип службы для поиска.
domainName
Доменное имя, в котором можно выполнить поиск.
Обсуждение
Этот метод сразу возвращается, отправляя a
netServiceBrowserWillSearch:
обменивайтесь сообщениями делегату, если сеть была готова инициировать поиск. Делегат получает последующийnetServiceBrowser:didFindService:moreComing:
сообщения для каждой службы обнаружены.serviceType
параметр должен содержать и текстовый слой службы и информацию о транспортном уровне. Чтобы гарантировать, что mDNS респондент ищет службы, а не узлы, удостоверяются, что снабдили префиксом и имя службы и имя транспортного уровня с символом подчеркивания (“_”). Например, для поиска службы HTTP на TCP Вы использовали бы строку типа “_http._tcp.
“. Обратите внимание на то, что символ точки в конце требуется.domainName
параметром может быть явное доменное имя, универсальный локальный домен@"local."
(отметьте запаздывание периода, указывающего абсолютное имя), или пустая строка (@""
), который указывает регистрационные домены по умолчанию. Обычно, Вы передаете в пустой строке. Обратите внимание на то, что приемлемо использовать пустую строку дляdomainName
параметр при публикации или просмотре службы, но не полагается на это для разрешения.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
См. также
netServiceBrowser:didFindService:moreComing:
(NSNetServiceBrowserDelegate)netServiceBrowserWillSearch:
(NSNetServiceBrowserDelegate) -
Останавливает в настоящее время запускающий поиск или разрешение.
Объявление
Swift
func stop()
Objective C
- (void)stop
Обсуждение
Этот метод отправляет a
netServiceBrowserDidStopSearch:
передайте делегату и причинам браузер для отбрасывания любых незаконченных результатов поиска.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
См. также
netServiceBrowserDidStopSearch:
(NSNetServiceBrowserDelegate)
-
Добавляет получатель к указанному циклу выполнения.
Объявление
Параметры
runLoop
Выполненный цикл, в котором можно запланировать получатель.
runLoopMode
Выполненный режим цикла, в котором можно выполнить эту работу, такой как
NSDefaultRunLoopMode
. ПосмотритеRun Loop Modes
разделNSRunLoop
класс для других значений режима цикла выполнения.Обсуждение
Можно использовать этот метод в сочетании с
removeFromRunLoop:forMode:
передать получатель циклу выполнения кроме по умолчанию. Вы не должны пытаться выполнить получатель на многократных циклах выполнения.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
См. также
-
Удаляет получатель из указанного цикла выполнения.
Объявление
Параметры
runLoop
Выполненный цикл, из которого можно удалить получатель.
runLoopMode
Выполненный режим цикла, в котором можно выполнить эту работу, такой как
NSDefaultRunLoopMode
. ПосмотритеRun Loop Modes
разделNSRunLoop
класс для других значений режима цикла выполнения.Обсуждение
Можно использовать этот метод в сочетании с
scheduleInRunLoop:forMode:
передать получатель циклу выполнения кроме по умолчанию. Несмотря на то, что возможно удалитьNSNetService
возразите полностью от любого цикла выполнения и затем делайте попытку действий с ним, Вы не должны делать этого.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
См. также