This sample demonstrates how to use the PeerFinder, ProximityDevice, and PeerWatcher classes to communicate with nearby devices.__ABSTRACT__

 

Note  This sample was created using one of the universal app templates available in Visual Studio. It shows how its solution is structured so it can run on both Windows 8.1 and Windows Phone 8.1. For more info about how to build apps that target Windows and Windows Phone with Visual Studio, see Build apps that target Windows and Windows Phone 8.1 by using Visual Studio.

The Windows.Networking.Proximity APIs allow the same app running on two or more machines to communicate with each other in one of two ways. If the devices have Near Field Communications (NFC) radios, then you can align the radios and "tap" your devices together to exchange small messages. Alternatively, if you have two or more PCs which all support Wi-Fi Direct, or two or more phones which all support Bluetooth, then you can set up a socket connection between your devices. This socket connection can also be initiated using NFC.

The PeerFinder scenario (1) demonstrates how to use the Proximity APIs to create socket connections between peer apps on two or more devices, either by using a tap gesture or by first browsing for peers. “Browsing” refers to the process of discovering peers, whether over Bluetooth or Wi-Fi Direct, which is only successful when peer apps advertise for connections.

The PeerWatcher scenario (2) demonstrates how to dynamically browse for peers. You should see the list of available peers shrink or expand as they start or stop advertising, or as they move out of range of your wireless radio.

The ProximityDevice scenarios (3 and 4) demonstrate how to send small message payloads between two devices during a tap gesture. They also show how to process DeviceArrived and DeviceDeparted events when another device's NFC radio comes in and out of range.

This sample requires the use of multiple devices. For scenarios that use a tap gesture, each device must have an NFC radio installed.

Windows For scenarios that require wireless peer discovery, each device must have a wireless radio that supports Wi-Fi Direct. Proximity apps running on Windows devices will not be able to discover Proximity apps running on Windows phones.

Windows Phone For scenarios that require wireless peer discovery, each device must have a wireless chip that supports Bluetooth. Proximity apps running on Windows phones will not be able to discover Proximity apps running on Windows

Windows If your device does not have an NFC radio, you can use the Proximity driver sample that is part of the Windows Driver Kit (WDK) samples. You can use the sample driver to simulate a tap gesture over a network connection between two devices. For info on how to download the WDK, see Windows Driver Kit (WDK). After you have installed the WDK and samples, you can find the Proximity driver sample in the src\nfp directory in the location where you installed the WDK samples. See the NetNfpProvider.html file in the src\nfp\net directory for instructions on building and running the simulator. After you start the simulator, it runs in the background while your Proximity app is running in the foreground. Your app must be in the foreground for the tap simulation to work.

 

To obtain an evaluation copy of Windows 8.1, go to Windows 8.1.

To obtain an evaluation copy of Microsoft Visual Studio 2013 Update 2, go to Microsoft Visual Studio 2013.

 

Note  For Windows 8 app samples, download the Windows 8 app samples pack. The samples in the Windows 8 app samples pack will build and run only on Microsoft Visual Studio 2012.

 

Related topics

Quickstart: Connecting applications using tapping or browsing (JavaScript)
Quickstart: Connecting applications using tapping or browsing (C#)
Quickstart: Publishing and subscribing to messages using tapping (JavaScript)
Quickstart: Publishing and subscribing to messages using tapping (C#)
Guidelines and checklist for proximity
Windows.Networking.Proximity
StreamSocket

Operating system requirements

Client
Windows 8.1
Server
Windows Server 2012 R2
Phone
Windows Phone 8.1

Build the sample

 

  1. Start Visual Studio 2013 Update 2 and select File > Open > Project/Solution.
  2. Go to the directory to which you unzipped the sample. Then go to the subdirectory named for the sample and double-click the Visual Studio 2013 Update 2 Solution (.sln) file.
  3. Follow the steps for the version of the sample you want:
    • To build the Windows version of the sample:

      1. Select Proximity.Windows in Solution Explorer.
      2. Press Ctrl+Shift+B, or use Build > Build Solution, or use Build > Build Proximity.Windows.
    • To build the Windows Phone version of the sample:

      1. Select Proximity.WindowsPhone in Solution Explorer.
      2. Press Ctrl+Shift+B or use Build > Build Solution or use Build > Build Proximity.WindowsPhone.

 

Note  The C# versions of the sample have a CS suffix. For example, the C#-Windows Phone version of the sample is ProximityCS.WindowsPhone.

Run the sample

The next steps depend on whether you just want to deploy the sample or you want to both deploy and run it.

Deploying the sample

Deploying and running the sample