NSSocketPortNameServer
Этот сервер имен порта берет и возвращает экземпляры NSSocketPort.
Функциональность удаления порта поддерживается removePortForName: метод и должен использоваться для удаления недопустимых портов сокета.
В отличие от других серверов имен порта, NSSocketPortNameServer может работать по сети. Путем регистрации портов сокета Вы делаете их доступными для других компьютеров в локальной сети без жесткого кодирования номера порта TCP. Клиенты просто должны знать имя порта.
NSPortNameServer реализован с помощью NSNetService и порты регистров в домене локальной сети. Зарегистрированное имя порта должно быть уникальным в локальном домене, не только локальном узле. Сервер имен только поддерживает TCP/IP (или IPv4 или IPv6) сокеты.
Оператор импорта
Не применимый
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает совместно используемый сервер имен порта сокета.
Объявление
Objective C
+ (id)sharedInstanceВозвращаемое значение
Единственный экземпляр
NSSocketPortNameServerв котором Вы регистрируетесь и ищетеNSSocketPortобъекты.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
Ищет и возвращает порт, зарегистрированный под указанным именем на локальном узле.
Параметры
portNameИмя требуемого порта.
Возвращаемое значение
Порт связался с
portNameна локальном узле. Возвратыnilесли не существует никакой такой порт.Обсуждение
Вызывает
portForName:host:nameServerPortNumber:сnilкак имя хоста и 0 как номер порта сервера имен.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
Ищет и возвращает порт, зарегистрированный под указанным именем на указанном узле.
Параметры
portNameИмя требуемого порта.
hostNameИмя узла.
hostNameимя Интернет-домена (например, “sales.anycorp.com”). ЕслиhostNamenilили пустой, локальный узел проверяется.Возвращаемое значение
Порт связался с
portNameна узлеhostName. Возвратыnilесли не существует никакой такой порт.Обсуждение
Вызывает
portForName:host:nameServerPortNumber:с 0 как номер порта сервера имен.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
Ищет и возвращает порт, зарегистрированный под указанным именем на указанном узле.
Объявление
Параметры
portNameИмя требуемого порта.
hostNameИмя узла.
hostNameимя Интернет-домена (например, “sales.anycorp.com”) или IP-адрес (IPv4 или IPv6). ЕслиhostNamenilили пустой, локальный узел проверяется. ЕслиhostName@”*”, все узлы в локальной сети проверяются.portNumberportNumberпараметр проигнорирован.Возвращаемое значение
Порт связался с
portNameна узлеhostName. Возвратыnilесли не существует никакой такой порт.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
Регистрирует данный порт как сетевую службу с указанным именем в локальном домене.
Параметры
portПорт для предоставления доступа доступным.
portNameИмя для порта.
Возвращаемое значение
YEStrueв случае успеха,NOfalseиначе.Обсуждение
Вызывает
registerPort:name:nameServerPortNumber:с 0 как номер порта сервера имен.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.2 и позже.
-
Регистрирует данный порт как сетевую службу с указанным именем в локальном домене.
Объявление
Параметры
portПорт для предоставления доступа доступным.
portNameИмя для порта.
portNumberportNumberпараметр проигнорирован.Возвращаемое значение
YEStrueв случае успеха,NOfalseиначе.Специальные замечания
Если Ваше приложение уже зарегистрировало порт под именем
portName, этот метод заменяет егоport.Если локальному домену уже назвали порт
portNameзарегистрированный, этот метод мог возвратитьсяYEStrueпрежде чем коллизия имени обнаруживается. Для обнаружения потенциальной коллизии имени можно вызватьportForName:host:с ahostпараметр@"*"протестировать еслиportNameуже взят. Это, однако, оставляет состояние состязания в чем, другой процесс может зарегистрировать порт подportNameпослеportForName:host:возвраты, но перед регистрациейport. Если это - недопустимый риск для Вашего приложения, можно также вызватьportForName:host:некоторый конечный промежуток времени после регистрации Вашего порта, чтобы протестировать, если Вы возвращаете тот же порт.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Не регистрирует порт для имени на локальном узле.
Объявление
Objective C
- (BOOL)removePortForName:(NSString *)portNameПараметры
portNameИмя порта, чтобы не зарегистрироваться.
Возвращаемое значение
YEStrueв случае успеха, иначеNOfalse.Обсуждение
Если работа успешна, порт больше не может искаться с помощью имени
portName. Другие приложения, уже имеющие ссылку на порт, могут продолжать использовать его, пока это не становится недопустимым.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
Возвращается номер порта раньше связывался с сервером имен.
Объявление
Objective C
@property uint16_t defaultNameServerPortNumberВозвращаемое значение
Номер порта раньше связывался с сервером имен. Это значение в настоящее время игнорируется.
Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Устанавливает номер порта по умолчанию, используемый для контакта с сервером имен.
Объявление
Objective C
@property uint16_t defaultNameServerPortNumberПараметры
portNumberНовый номер порта раньше связывался с сервером имен. Это значение в настоящее время игнорируется.
Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
