TriggeredConnectionStateChangedEventArgs, classe

TriggeredConnectionStateChangedEventArgs Class

Contient les propriétés que l'événement TriggeredConnectionStateChanged passe à une application.

Syntaxe


/* Pour plus d'informations sur la création ou l'accès à cet objet, consultez les notes. */

Attributs

[MarshalingBehavior(Agile)]
[Version(0x06020000)]

Membres

TriggeredConnectionStateChangedEventArgsClasse possède ces types de membres :

Méthodes

The TriggeredConnectionStateChangedEventArgs Classe hérite des méthodes de Object Classe (C#/VB/C++).

Propriétés

Le TriggeredConnectionStateChangedEventArgsClasse a les propriétés suivantes.

PropriétéType d'accèsDescription

Id

En lecture seuleGets the unique identifier for the connection in progress.

Socket

En lecture seuleGets the StreamSocket instance for the connection.

State

En lecture seuleGets the state of the connection in progress.

 

Exemples


function id(elementId) {
    return document.getElementById(elementId);
}

// Click event for "Start" button.
function startFindingPeers() {
    if (Windows.Networking.Proximity.PeerFinder.supportedDiscoveryTypes &
        Windows.Networking.Proximity.PeerDiscoveryTypes.triggered) {

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

        Windows.Networking.Proximity.PeerFinder.addEventListener(
    "triggeredconnectionstatechanged", triggeredConnectionStateChanged);

        id("messageDiv").innerHTML += 
    "Waiting for peers. Enter proximity to connect. " +
    "Call PeerFinder.start() on the peer to send and receive messages.<br />";
    }
    else {
        id("messageDiv").innerHTML += 
    "Peer discovery using tapping is not supported.<br />";
    }

}

function triggeredConnectionStateChanged(e) {
    if (e.state === Windows.Networking.Proximity.TriggeredConnectState.completed) {
        id("messageDiv").innerHTML += "Connected. You may now send a message.<br />";
        sendMessage(e.socket);
    }
}

var proximitySocket;
var dataWriter;

// Reference socket streams for writing and reading messages.
function sendMessage(socket) {
    id("sendMessageButton").addEventListener("click", sendMessageText);

    // Get the network socket from the proximity connection.
    proximitySocket = socket;

    // Create DataWriter for writing messages to peers.
    dataWriter = new Windows.Storage.Streams.DataWriter(proximitySocket.outputStream);
            
    // Listen for messages from peers.
    var dataReader = new Windows.Storage.Streams.DataReader(proximitySocket.inputStream);
    startReader(proximitySocket, dataReader);
}

// Send a message to the socket.
function sendMessageText() {        
    var msg = id("sendMessageText").value;
    
    if (msg.length > 0) {
        var msgLength = dataWriter.measureString(msg);
        dataWriter.writeInt32(msgLength);
        dataWriter.writeString(msg);
        dataWriter.storeAsync().done(
            function (byteCount) {
                id("messageDiv").innerHTML += "Message sent: " + msg.value + "<br />";
            },
            function (err) {
                id("messageDiv").innerHTML += "Send error: " + err.message + "<br />";
            });
    }
}

// Read out and print the message received from the socket.
function startReader(socket, reader) {
    var initialLength = 4; 
    reader.loadAsync(initialLength).done(
    function () {
        var msgLength = reader.readInt32();
        reader.loadAsync(msgLength).done(
            function () {
                var message = reader.readString(msgLength);
                id("messageDiv").innerHTML += "Received message: " + message + "<br />";

                // After receiving a message, listen for the next message.
                startReader(socket, reader);
            },
            function (err) {
                id("messageDiv").innerHTML += "Error: " + err.message + "<br />";
                socket.close();
            });
    },
    function (err) {
        id("messageDiv").innerHTML += "Error: " + err.message + "<br />";
        socket.close();
    });
}


Conditions requises

Client minimal pris en charge

Windows 8 [Applications Windows Store uniquement]

Serveur minimal pris en charge

Windows Server 2012 [Applications Windows Store uniquement]

Téléphone minimal pris en charge

Windows Phone 8

Espace de noms

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

Métadonnées

Windows.winmd

Capabilities

proximity
ID_CAP_PROXIMITY [Windows Phone]

Voir aussi

TriggeredConnectionStateChanged
Proximité et geste tactile (JavaScript)
Proximité et geste tactile (C#/VB/C++)
Exemples
Exemple de proximité

 

 

Afficher:
© 2017 Microsoft