Windows.Networking.Proximity 名前空間

近距離にあるデバイス間の接続をサポートするクラスが含まれています。

クラス

ConnectionRequestedEventArgs

ConnectionRequested イベントを使用してアプリケーションに渡されるプロパティを格納します。

PeerFinder

近くのデバイスでアプリの他のインスタンスを検出し、タップ ジェスチャまたは参照を使用して、ピア アプリ間にソケット接続を作成できます。 Windows 8.1 以降で Bluetooth ソケット接続を作成するには、代わりに 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

注釈

簡単なタップ ジェスチャを使用して、近接通信を使用してコンピューターを接続できます。 2 台のコンピューターが互いに 3 センチメートルから 4 センチメートル以内にある場合、または一緒にタップされた場合、各コンピューターのオペレーティング システムはもう一方のコンピューターを検出します。 その後、2 台のコンピューターを接続してコンテンツを共有したり、メッセージを発行してサブスクライブしたりできます。 近接通信では、Wi-Fi Direct を介したピア デバイスの検出もサポートされています。

重要

近接 API では、認証、暗号化、またはメッセージの整合性は提供されません。 パスワード、財務データ、テキスト メッセージ、電子メール、写真、政府 ID 番号などのユーザーの機密情報を交換するために近接性を使用しないでください。

こちらもご覧ください