Click or drag to resize

TcpClientOpenAsync Method (Boolean, String, Int32, NotifyDataChangedEventHandler)

Opens a TCP connection.

Namespace:  Demo3D.Net.Protocols
Assembly:  Demo3D.IO (in Demo3D.IO.dll) Version: 15.0.2.11458
Syntax
C#
public static Task<Client<IPacketIOService>> OpenAsync(
	bool sync,
	string host,
	int port,
	NotifyDataChangedEventHandler dataChangedHandler
)

Parameters

sync
Type: SystemBoolean
If true, the Task returned is guaranteed to be complete.
host
Type: SystemString
The host to connect to.
port
Type: SystemInt32
The port to connect to.
dataChangedHandler
Type: Demo3D.NetNotifyDataChangedEventHandler
Data received handler.

Return Value

Type: TaskClientIPacketIOService
A new TCP client.
Examples
C#
// Open a new connection, calling DataReceived on every packet received.
public async Task ReceiveMessagesAsync(string host, int port) {
    await TcpClient.OpenAsync(sync: false, host, port, DataReceived);
}

// Called when data is received.
void DataReceived(ProtocolSocket socket, object service, NotifyDataChangedEventArgs e) {
    var    io      = (IPacketIOService)service;    // TcpClient 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: " + str);

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