Click or drag to resize

CotpClientOpenAsync(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(
	string host,
	byte[] tsap,
	NotifyDataChangedEventHandler dataChangedHandler,
	int port = -1
)

Parameters

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