Click or drag to resize

CotpClientOpenAsync(Boolean, String, Byte, NotifyDataChangedEventHandler, Int32) Method

Open an ISO COTP connection.

Namespace: Demo3D.Net.Protocols
Assembly: Demo3D.IO (in Demo3D.IO.dll) Version: 19.00.00
Syntax
C#
public static Task<Client<IPacketIOService>> OpenAsync(
	bool sync,
	string host,
	byte[] tsap,
	NotifyDataChangedEventHandler dataChangedHandler,
	int port = -1
)

Parameters

sync  Boolean
If true, the Task returned is guaranteed to be complete.
host  String
The host to connect to.
tsap  Byte
The destination TSAP.
dataChangedHandler  NotifyDataChangedEventHandler
Data received handler.
port  Int32  (Optional)
ISO port number.

Return Value

TaskClientIPacketIOService
A new COTP client.
Example
C#
// Open a new connection, calling DataReceived on every packet received.
public async Task ReceiveMessagesAsync(string host, string tsap) {
    await CotpClient.OpenAsync(sync: false, 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.
    var    message = args.GetData();               // Read from the packet.
    string str     = BinaryTextEncoding.FixedLengthASCII.GetString(message);

    Logger.Log("Message received: " + message);

    // Send back a reply.
    var reply = BinaryTextEncoding.NullTerminatedASCII.GetBytes("hello");
    io.Write(reply);
}
See Also