Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

TriggeredConnectionStateChangedEventArgs class

Contains properties that the TriggeredConnectionStateChanged event passes to an application.

Syntax


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

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-only

Gets the unique identifier for the connection in progress.

Socket

Read-only

Gets the StreamSocket instance for the connection.

State

Read-only

Gets 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 (Windows 10 device family)

Device family

Universal, introduced version 10.0.10240.0 [for Xbox, see UWP features that aren't yet supported on Xbox]

API contract

Windows.Foundation.UniversalApiContract, introduced version 1.0

Namespace

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

Metadata

Windows.Foundation.UniversalApiContract.winmd

Capabilities

proximity

Requirements (Windows 8.x and Windows Phone 8.x)

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]

Attributes

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

See also

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

 

 

Show: