TcpClientOpenAsync Method (String, Int32, NotifyDataChangedEventHandler) |
Namespace: Demo3D.Net.Protocols
public static Task<Client<IPacketIOService>> OpenAsync( string host, int port, NotifyDataChangedEventHandler dataChangedHandler )
// 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); }