TriggeredConnectionStateChangedEventArgs class

Applies to Windows and Windows Phone

Contains properties that the TriggeredConnectionStateChanged event passes to an application.

Syntax


/* For information about creating or accessing this object, see Remarks. */

Attributes

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

Members

The TriggeredConnectionStateChangedEventArgs class has these types of members:

Methods

The TriggeredConnectionStateChangedEventArgs class inherits methods from the Object class (C#/VB/C++).

Properties

The TriggeredConnectionStateChangedEventArgs class has these properties.

PropertyAccess typeDescription

Id

Read-onlyGets the unique identifier for the connection in progress.

Socket

Read-onlyGets the StreamSocket instance for the connection.

State

Read-onlyGets the state of the connection in progress.

 

Examples


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();
    });
}


Requirements

Minimum supported client

Windows 8 [Windows Store apps only]

Minimum supported server

Windows Server 2012 [Windows Store apps only]

Minimum supported phone

Windows Phone 8

Namespace

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

Metadata

Windows.winmd

Capabilities

proximity
ID_CAP_PROXIMITY [Windows Phone]

See also

TriggeredConnectionStateChanged
Proximity and Tapping (JavaScript)
Proximity and Tapping (C#/VB/C++)
Samples
Proximity sample

 

 

Show:
© 2014 Microsoft