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


Windows.Networking.Proximity Пространство имен

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

Классы

ConnectionRequestedEventArgs

Содержит свойства, передаваемые приложению с событием ConnectionRequested .

PeerFinder

Позволяет обнаруживать другие экземпляры приложения на близлежащих устройствах и создавать подключение сокета между одноранговым приложением с помощью жеста касания или просмотра. Для создания подключений сокетов Bluetooth на Windows 8.1 и более поздних версий используйте Windows.Devices.Bluetooth.Rfcomm.

PeerInformation

Содержит сведения, определяющие одноранговый узел.

PeerWatcher

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

ProximityDevice

Позволяет публиковать сообщения на прокси-устройствах или подписываться на сообщения с прокси-устройств.

ProximityMessage

Представляет сообщение, полученное из подписки.

TriggeredConnectionStateChangedEventArgs

Содержит свойства, которые событие TriggeredConnectionStateChanged передает приложению.

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

PeerDiscoveryTypes

Указывает, какие параметры обнаружения доступны для использования с классом PeerFinder .

PeerRole

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

PeerWatcherStatus

Описывает состояние объекта PeerWatcher .

TriggeredConnectState

Указывает текущее состояние соединения с одноранговым приложением.

Делегаты

DeviceArrivedEventHandler

Описывает метод, обрабатывающий событие DeviceArrived .

DeviceDepartedEventHandler

Описывает метод, обрабатывающий событие DeviceDeparted .

MessageReceivedHandler

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

MessageTransmittedHandler

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

Примеры

В этом примере показано, как использовать класс ProximityDevice , чтобы определить, когда устройство входит и покидает его.

Windows.Networking.Proximity.ProximityDevice proximityDevice;

private void InitializeProximityDevice()
{
    proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();

    if (proximityDevice != null) {
        proximityDevice.DeviceArrived += ProximityDeviceArrived;
        proximityDevice.DeviceDeparted += ProximityDeviceDeparted;

        WriteMessageText("Proximity device initialized.\n");
    }
    else
    {
        WriteMessageText("Failed to initialized proximity device.\n");
    }
}

private void ProximityDeviceArrived(Windows.Networking.Proximity.ProximityDevice device)
{
    WriteMessageText("Proximate device arrived. id = " + device.DeviceId + "\n");
}

private void ProximityDeviceDeparted(Windows.Networking.Proximity.ProximityDevice device)
{
    WriteMessageText("Proximate device departed. id = " + device.DeviceId + "\n");
}

// Write a message to MessageBlock on the UI thread.
private Windows.UI.Core.CoreDispatcher messageDispatcher = Window.Current.CoreWindow.Dispatcher;

async private void WriteMessageText(string message, bool overwrite = false)
{
    await messageDispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
        () =>
        {
            if (overwrite)
                MessageBlock.Text = message;
            else
                MessageBlock.Text += message;
        });
}
Dim proximityDevice As Windows.Networking.Proximity.ProximityDevice

Private Sub InitializeProximityDevice()

    proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault()

    If proximityDevice IsNot Nothing Then
        AddHandler proximityDevice.DeviceArrived, AddressOf ProximityDeviceArrived
        AddHandler proximityDevice.DeviceDeparted, AddressOf ProximityDeviceDeparted

        WriteMessageText("Proximity device initialized." & vbTab)
    Else
        WriteMessageText("Failed to initialized proximity device." & vbTab)
    End If
End Sub

Private Sub ProximityDeviceArrived(device As Windows.Networking.Proximity.ProximityDevice)
    WriteMessageText("Proximate device arrived. id = " & device.DeviceId & vbTab)
End Sub

Private Sub ProximityDeviceDeparted(device As Windows.Networking.Proximity.ProximityDevice)
    WriteMessageText("Proximate device departed. id = " & device.DeviceId & vbTab)
End Sub

' Write a message to MessageBlock on the UI thread.
Private Async Sub WriteMessageText(message As String, Optional overwrite As Boolean = False)
    Await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
        Sub()
            If overwrite Then
                MessageBlock.Text = message
            Else
                MessageBlock.Text &= message
            End If
        End Sub)
End Sub

Комментарии

Вы можете использовать близкое расположение для подключения компьютеров с помощью простого жеста касания. Если два компьютера находятся в пределах от 3 до 4 сантиметров друг от друга или используются вместе, операционная система каждого компьютера обнаруживает другой компьютер. Затем можно подключить два компьютера для предоставления общего доступа к содержимому или публикации сообщений и подписки на сообщения. Близкое взаимодействие также поддерживает обнаружение одноранговых устройств через Wi-Fi Direct.

Важно!

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

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