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

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

Разработчик

Ссылка платформы SystemConfiguration ссылка SCNetwork

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

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

Ссылка SCNetwork

SCNetwork интерфейс программирования содержит функции, которые приложение может использовать, чтобы определить, может ли то приложение достигнуть удаленного узла и уведомлять систему изменений конфигурации.

Когда пакет данных, отправленный приложением в сетевой стек, может оставить локальный компьютер, удаленный узел считают достижимым. Обратите внимание на то, что достижимость не гарантирует, что пакет данных будет фактически получен узлом.

Функции

  • Определяет, является ли указанный сетевой адрес достижимым использованием текущей конфигурации сети.

    Оператор осуждения

    Посмотрите обсуждение для альтернативы кодирования.

    Объявление

    Objective C

    Boolean SCNetworkCheckReachabilityByAddress ( const struct sockaddr *address, socklen_t addrlen, SCNetworkConnectionFlags *flags );

    Параметры

    address

    Сетевой адрес желаемого узла.

    addrlen

    Длина, в байтах, адреса.

    flags

    Указатель на память, что, на выводе, будет заполнено рядом значений SCNetworkConnectionFlags, детализирующих достижимость указанного адреса

    Возвращаемое значение

    TRUE если флаги сетевого соединения допустимы; FALSE если не могло бы быть определено состояние.

    Обсуждение

    Эта функция осуждается, но можно получить эквивалентные результаты с помощью следующего кода:

    • SCNetworkReachabilityRef target;
    • SCNetworkConnectionFlags flags = 0;
    • Boolean ok;
    • target = SCNetworkReachabilityCreateWithAddress(NULL, address);
    • ok = SCNetworkReachabilityGetFlags(target, &flags);
    • CFRelease(target);

    Оператор импорта

    Objective C

    @import SystemConfiguration;

    Доступность

    Доступный в OS X v10.1 и позже.

    Осуждаемый в OS X v10.6.

  • Определяет, являются ли указанный сетевой узел или имя узла достижимым использованием текущей конфигурации сети.

    Оператор осуждения

    Посмотрите обсуждение для альтернативы кодирования.

    Объявление

    Objective C

    Boolean SCNetworkCheckReachabilityByName ( const char *nodename, SCNetworkConnectionFlags *flags );

    Параметры

    nodename

    Имя узла желаемого узла. Это - то же имя, которое было бы передано gethostbyname(3) или getaddrinfo(3) функции.

    flags

    Указатель на память, что, на выводе, будет заполнено рядом значений SCNetworkConnectionFlags, детализирующих достижимость указанного адреса

    Возвращаемое значение

    TRUE если флаги сетевого соединения допустимы; FALSE если не могло бы быть определено состояние.

    Обсуждение

    Эта функция осуждается, но можно получить эквивалентные результаты с помощью следующего кода:

    • SCNetworkReachabilityRef target;
    • SCNetworkConnectionFlags flags = 0;
    • Boolean ok;
    • target = SCNetworkReachabilityCreateWithName(NULL, name);
    • ok = SCNetworkReachabilityGetFlags(target, &flags);
    • CFRelease(target);

    Оператор импорта

    Objective C

    @import SystemConfiguration;

    Доступность

    Доступный в OS X v10.1 и позже.

    Осуждаемый в OS X v10.6.

  • Отправляет уведомление заинтересованным агентам конфигурации для имения их сразу повторяют их конфигурацию по определенному сетевому интерфейсу.

    Оператор осуждения

    Используйте SCNetworkInterfaceForceConfigurationRefresh функция вместо этого.

    Объявление

    Objective C

    Boolean SCNetworkInterfaceRefreshConfiguration ( CFStringRef ifName );

    Параметры

    ifName

    Имя BSD сетевого интерфейса, такой как CFSTR("en0").

    Возвращаемое значение

    TRUE если было отправлено уведомление; иначе, FALSE.

    Обсуждение

    Эта функция должна быть вызвана корнем (другими словами, пользователь с uid, равным 0).

    Оператор импорта

    Objective C

    @import SystemConfiguration;

    Доступность

    Доступный в OS X v10.1 и позже.

    Осуждаемый в OS X v10.5.

Константы

  • Флаги, указывающие, достижимы ли указанное имя сетевого узла или адрес, требуется ли соединение, и может ли некоторое вмешательство пользователя требоваться при установлении соединения.

    Объявление

    Swift

    typealias SCNetworkConnectionFlags = UInt32

    Objective C

    enum { kSCNetworkFlagsTransientConnection = 1<<0, kSCNetworkFlagsReachable = 1<<1, kSCNetworkFlagsConnectionRequired = 1<<2, kSCNetworkFlagsConnectionAutomatic = 1<<3, kSCNetworkFlagsInterventionRequired = 1<<4, kSCNetworkFlagsIsLocalAddress = 1<<16, kSCNetworkFlagsIsDirect = 1<<17, }; typedef uint32_t SCNetworkConnectionFlags;

    Константы

    • kSCNetworkFlagsTransientConnection

      kSCNetworkFlagsTransientConnection

      Указанное имя узла или адрес могут быть достигнуты через переходное соединение, такое как PPP.

      Доступный в OS X v10.1 и позже.

    • kSCNetworkFlagsReachable

      kSCNetworkFlagsReachable

      Указанное имя узла или адрес могут быть достигнуты с помощью текущей конфигурации сети.

      Доступный в OS X v10.1 и позже.

    • kSCNetworkFlagsConnectionRequired

      kSCNetworkFlagsConnectionRequired

      Указанное имя узла или адрес могут быть достигнуты с помощью текущей конфигурации сети, но должно сначала быть установлено соединение.

      Например, это состояние было бы возвращено для коммутируемого соединения, которое не было в настоящее время активно, но могло обработать сетевой трафик для целевой системы.

      Доступный в OS X v10.1 и позже.

    • kSCNetworkFlagsConnectionAutomatic

      kSCNetworkFlagsConnectionAutomatic

      Указанное имя узла или адрес могут быть достигнуты с помощью текущей конфигурации сети, но должно сначала быть установлено соединение.

      Любой трафик, направленный к указанному имени или адресу, будет инициировать соединение.

      Доступный в OS X v10.1 и позже.

    • kSCNetworkFlagsInterventionRequired

      kSCNetworkFlagsInterventionRequired

      Указанное имя узла или адрес могут быть достигнуты с помощью текущей конфигурации сети, но должно сначала быть установлено соединение.

      Кроме того, некоторая форма вмешательства пользователя потребуется, чтобы устанавливать это соединение, такое как обеспечение пароля, аутентификационного маркера, и т.д.

      В настоящее время этот флаг возвращается, когда существует набор на конфигурировании трафика (ConnectionAutomatic), попытка соединиться была уже предпринята, и когда с некоторой ошибкой (например, никакой тональный сигнал готовности к набору номера, никакой ответ, неверный пароль, и т.д.) встретились во время автоматической попытки подключения. В этом случае контроллер PPP прекращает пытаться установить соединение, пока не вмешался пользователь.

      Доступный в OS X v10.1 и позже.

    • kSCNetworkFlagsIsLocalAddress

      kSCNetworkFlagsIsLocalAddress

      Указанное имя узла или адрес являются тем, связанным с сетевым интерфейсом на существующей системе.

      Доступный в OS X v10.3 и позже.

    • kSCNetworkFlagsIsDirect

      kSCNetworkFlagsIsDirect

      Сетевой трафик к указанному имени узла или адресу не проходит через шлюз, но направляется непосредственно к одному из интерфейсов в системе.

      Доступный в OS X v10.3 и позже.

    Оператор импорта

    Objective C

    @import SystemConfiguration;

    Swift

    import SystemConfiguration

    Доступность

    Доступный в OS X v10.1 и позже.