Поделиться через


Windows.Devices.WiFiDirect Пространство имен

Содержит классы, поддерживающие подключение к связанным устройствам Wi-Fi Direct и связанным конечным точкам для компьютеров, планшетов и телефонов.

Классы

WiFiDirectAdvertisement

Представляет объявление Wi-Fi Direct и позволяет приложению управлять состоянием прослушивания и пользовательскими информационными элементами в объявлении.

WiFiDirectAdvertisementPublisher

Объект для публикации Wi-Fi прямых объявлений.

WiFiDirectAdvertisementPublisherStatusChangedEventArgs

Предоставляет данные для события StatusChanged в WiFiDirectAdvertisementPublisher.

WiFiDirectConnectionListener

Класс, используемый для прослушивания входящих Wi-Fi запросов на прямое подключение.

WiFiDirectConnectionParameters

Используется приложением для указания параметров подключения для операции прямого подключения или связывания Wi-Fi.

Примеры приложений, использующих этот класс, включают пример Wi-Fi Direct.

WiFiDirectConnectionRequest

Запрос Wi-Fi прямого подключения, полученный WiFiDirectConnectionListener.

WiFiDirectConnectionRequestedEventArgs

Предоставляет данные для события ConnectionRequested в WiFiDirectConnectionListener.

WiFiDirectDevice

Управляет подключениями к связанным устройствам Wi-Fi Direct.

WiFiDirectInformationElement

Представляет информационные элементы в пакете Wi-Fi Direct.

WiFiDirectLegacySettings

Параметры, управляющие устаревшим режимом (не Wi-Fi Direct подключения к объявляемой точке доступа).

Перечисления

WiFiDirectAdvertisementListenStateDiscoverability

Указывает, может ли устройство Wi-Fi Direct прослушивать и обнаруживать его.

WiFiDirectAdvertisementPublisherStatus

Представляет возможные состояния WiFiDirectAdvertisementPublisher.

WiFiDirectConfigurationMethod

Задает метод конфигурации Wi-Fi Direct. Конфигурация — это то, как пользователь сообщает одному элементу оборудования Wi-Fi Direct подключиться к другому элементу оборудования Wi-Fi Direct.

WiFiDirectConnectionStatus

Описывает состояние подключения объекта WiFiDirectDevice .

WiFiDirectDeviceSelectorType

Указывает тип селектора устройства для Wi-Fi Direct.

WiFiDirectError

Указывает некоторые распространенные Wi-Fi случаев прямых ошибок.

WiFiDirectPairingProcedure

Задает процедуру прямого связывания.

Примеры

Windows.Devices.WiFiDirect.WiFiDirectDevice wfdDevice;

private async System.Threading.Tasks.Task<String> Connect(string deviceId)
{
    string result = ""; 

    try
    {
        // No device ID specified.
        if (String.IsNullOrEmpty(deviceId)) { return "Please specify a Wi-Fi Direct device ID."; }

        // Connect to the selected Wi-Fi Direct device.
        wfdDevice = await Windows.Devices.WiFiDirect.WiFiDirectDevice.FromIdAsync(deviceId);

        if (wfdDevice == null)
        {
            result = "Connection to " + deviceId + " failed.";
        }

        // Register for connection status change notification.
        wfdDevice.ConnectionStatusChanged += new TypedEventHandler<Windows.Devices.WiFiDirect.WiFiDirectDevice, object>(OnConnectionChanged);

        // Get the EndpointPair information.
        var EndpointPairCollection = wfdDevice.GetConnectionEndpointPairs();

        if (EndpointPairCollection.Count > 0)
        {
            var endpointPair = EndpointPairCollection[0];
            result = "Local IP address " + endpointPair.LocalHostName.ToString() + 
                " connected to remote IP address " + endpointPair.RemoteHostName.ToString();
        }
        else
        {
           result = "Connection to " + deviceId + " failed.";
        }
    }
    catch (Exception err)
    {
        // Handle error.
        result = "Error occurred: " + err.Message;
    }

    return result;
}

private void OnConnectionChanged(object sender, object arg)
{
    Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus status = 
        (Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus)arg;

    if (status == Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus.Connected)
    {
        // Connection successful.
    }
    else
    {
        // Disconnected.
        Disconnect();
    }
}

private void Disconnect()
{
    if (wfdDevice != null) 
    {
        wfdDevice.Dispose(); 
    }
}

Комментарии

Класс WiFiDirectDevice можно использовать для установки сокетного подключения с другими устройствами, которые имеют устройство с поддержкой Wi-Fi Direct (WFD). Вы можете вызвать метод GetDeviceSelector , чтобы получить идентификатор устройства Wi-Fi Direct. Получив ссылку на WiFiDirectDevice на компьютере, можно вызвать метод GetConnectionEndpointPairs , чтобы получить объект EndpointPair и установить подключение сокета с помощью классов в пространстве имен Windows.Networking.Sockets .

Вы можете добавить обработчик для события ConnectionStatusChanged , чтобы получать уведомления о том, что подключение установлено или отключено.

Одновременно к устройству Wi-Fi Direct может быть подключено только одно приложение.

Для взаимодействия с устройствами Wi-Fi Direct необходимо включить функцию близкого взаимодействия.

См. также раздел