Click or drag to resize

CotpClientOpenAsync Method (String, Byte, NotifyDataChangedEventHandler)

Open an ISO COTP connection.

Namespace:  Demo3D.Net.Protocols
Assembly:  Demo3D.IO (in Demo3D.IO.dll) Version: 10.0.0.0 (10.0.0.0)
Syntax
C#
public static Task<Client<IPacketIOService>> OpenAsync(
	string host,
	byte[] tsap,
	NotifyDataChangedEventHandler dataChangedHandler
)

Parameters

host
Type: SystemString
The host to connect to.
tsap
Type: SystemByte
The destination TSAP.
dataChangedHandler
Type: Demo3D.NetNotifyDataChangedEventHandler
Data received handler.

Return Value

Type: TaskClientIPacketIOService
A new COTP client.
Examples
C#
// Open a new connection, calling DataReceived on every packet received.
public async Task ReceiveMessagesAsync(string host, string tsap) {
    await CotpClient.OpenAsync(host, tsap, DataReceived);
}

// Called when data is received.
void DataReceived(ProtocolSocket socket, object service, NotifyDataChangedEventArgs e) {
    var io   = (IPacketIOService)service;    // CotpClient uses IPacketIOService.
    var args = (PacketChangedEventArgs)e;    // IPacketIOService posts PacketChangedEventArgs when it raises a DataChanged event.

    // With the packet that was received.
    // With the packet that was received.
    using (var packet = args.GetPacket()) {
        var message = packet.ReadString();   // Read the message and log it.
        Logger.Log("Message received: " + message);
    }

    // Send back a reply.
    using (var packet = io.Write()) {
        packet.WriteString("hello");         // The message is the string "hello".
        packet.Flush();                      // Send the message.
    }
}
See Also