PeerFinder.Start() | start() Method

Inicia el proceso de encontrar aplicaciones del mismo nivel y hace que una aplicación pueda ser detectada por los interlocutores remotos.

Sintaxis


Windows.Networking.Proximity.PeerFinder.start();

Parámetros

Este Método no tiene parámetros.

Comentarios

Puede llamar al método Start para iniciar el proceso y encontrar una aplicación del mismo nivel, y crear una aplicación reconocible en los remotos que llaman al método FindAllPeersAsync. Un elemento del mismo nivel es un equipo que tiene una aplicación que se ejecuta en primer plano con un AppId coincidente. Un elemento del mismo nivel también puede tener un identificador de examen coincidente que se especifica como una identidad alternativa. Para obtener más información, vea AlternateIdentities.

Puede conectarse a un solo igual a la vez.

Cuando una aplicación se activa punteando un dispositivo cercano, los parámetros de activación indican si se debe iniciar PeerFinder o si la aplicación se inició mediante argumentos de activación. Para obtener más información, vea la sección "Activar aplicaciones utilizando la proximidad" de Compatibilidad con la proximidad y el punteo.

Importante  

Establezca siempre la propiedad DisplayName con un valor único para la aplicación antes de llamar al método Start.

Windows Phone 8

Wi-Fi Direct no se admite en Windows Phone 8. Para obtener más información, vea Proximity.

Ejemplos


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 Wi-Fi 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);
}


Requisitos

Cliente mínimo admitido

Windows 8

Servidor mínimo admitido

Windows Server 2012

Teléfono mínimo admitido

Windows Phone 8

Espacio de nombres

Windows.Networking.Proximity
Windows::Networking::Proximity [C++]

Metadatos

Windows.winmd

Capabilities

proximity
ID_CAP_PROXIMITY [Windows Phone]
ID_CAP_NETWORKING [Windows Phone]

Vea también

AlternateIdentities
PeerFinder
Start(String)
Proximidad y punteo (JavaScript)
Proximidad y punteo (C#/VB/C++)
Ejemplos
Ejemplo de proximidad

 

 

Mostrar:
© 2015 Microsoft