Starts the process of finding peer apps and makes an app discoverable to remote peers.
Syntax
Windows.Networking.Proximity.PeerFinder.start();
Parameters
This method has no parameters.
Remarks
You can call the Start method to begin the process of finding a peer app and to make your app discoverable to remote peers that call the FindAllPeersAsync method. A peer is a computer that has an app running in the foreground with a matching AppId. A peer can also have a matching Browse Id that's specified as an alternate identity. For more information, see AlternateIdentities.
You can connect to only one peer at a time.
When an app is activated by tapping a nearby device, the activation parameters indicate whether the PeerFinder should be started or if the app was launched with activation arguments. For more information, see the "Activating apps using Proximity" section of Supporting Proximity and Tapping.
Windows Phone 8
Wi-Fi Direct is not supported on Windows Phone 8. For more information, see Proximity.
Examples
var started = false; // Click event for "Advertise" button. function advertiseForPeers(launchedFromTap) { Windows.Networking.Proximity.PeerFinder.displayName = displayNameTextBox.Text; if (Windows.Networking.Proximity.PeerFinder.supportedDiscoveryTypes & Windows.Networking.Proximity.PeerDiscoveryTypes.triggered) { Windows.Networking.Proximity.PeerFinder.addEventListener( "triggeredconnectionstatechanged", triggeredConnectionStateChanged); id("messageDiv").innerHTML += "You can tap to connect a peer device that is " + "also advertising for a connection.<br />"; } else { id("messageDiv").innerHTML += "Tap to connect is not supported.<br />"; } if (!launchedFromTap) { if (!(Windows.Networking.Proximity.PeerFinder.SupportedDiscoveryTypes & Windows.Networking.Proximity.PeerDiscoveryTypes.Browse)) { id("messageDiv").innerHTML += "Peer discovery using Wifi-Direct is not supported.<br />"; } } if (!started) { Windows.Networking.Proximity.PeerFinder.start(); started = true; } } function triggeredConnectionStateChanged(e) { if (e.state === Windows.Networking.Proximity.TriggeredConnectState.peerFound) { id("messageDiv").innerHTML += "Peer found. You may now pull your devices out of proximity.<br />"; } if (e.state === Windows.Networking.Proximity.TriggeredConnectState.completed) { id("messageDiv").innerHTML += "Connected. You may now send a message.<br />"; sendMessage(e.socket); } } // Click event for "Browse" button. function findPeers() { if (Windows.Networking.Proximity.PeerFinder.supportedDiscoveryTypes & Windows.Networking.Proximity.PeerDiscoveryTypes.browse) { Windows.Networking.Proximity.PeerFinder.findAllPeersAsync().done( function (peerInfoCollection) { if (peerInfoCollection.length > 0) { // Connect to first peer found - example only. // In your app, provide the user with a list of available peers. connectToPeer(peerInfoCollection[0]); } }, function (err) { id("messageDiv").innerHTML += "Error finding peers: " + err + "<br />"; }); } else { id("messageDiv").innerHTML += "Peer discovery using Wi-Fi Direct is not supported.<br />"; } } function connectToPeer(peerInfo) { id("messageDiv").innerHTML += ("Peer found. Connecting to " + peerInfo.displayName + "<br />"); Windows.Networking.Proximity.PeerFinder.connectAsync(peerInfo).done( function (socket) { id("messageDiv").innerHTML += "Connection successful. You may now send messages.<br />"; sendMessage(socket); }, function (err) { id("messageDiv").innerHTML += "Connection failed: " + err + "<br />"; }); requestingPeer = null; } function stopFindingPeers() { Windows.Networking.Proximity.PeerFinder.stop(); started = false; if (proximitySocket != null) { closeSocket(); } } // Handle external connection requests. var requestingPeer; function connectionRequested(e) { id("messageDiv").innerHTML += "Connection requested by " + e.peerInformation.DisplayName + ". " + "Click 'Accept Connection' to connect."; requestingPeer = e.PeerInformation; } function acceptConnection() { if (requestingPeer == null) { id("messageDiv").innerHTML += "No peer connection has been requested."; return; } connectToPeer(requestingPeer); }
Requirements
|
Minimum supported client | Windows 8 |
|---|---|
|
Minimum supported server | Windows Server 2012 |
|
Minimum supported phone | Windows Phone 8 |
|
Namespace |
|
|
Metadata |
|
|
Capabilities |
|
See also
- AlternateIdentities
- PeerFinder
- Start(String)
- Proximity and Tapping (JavaScript)
- Proximity and Tapping (C#/VB/C++)
- Samples
- Proximity sample
Build date: 2/25/2013