CotpServerOpenAsync Method (Boolean, Byte, NotifyDataChangedEventHandler, Int32) |
Namespace: Demo3D.Net.Protocols
public static Task<ServerSocket> OpenAsync( bool sync, byte[] tsap, NotifyDataChangedEventHandler dataChangedHandler, int port = -1 )
// Start a new server, calling DataReceived for every packet received. public async Task StartServerAsync(string tsap) { await CotpServer.OpenAsync(sync: false, tsap, DataReceived); } // Called when data is received. void DataReceived(ProtocolSocket socket, object service, NotifyDataChangedEventArgs e) { var io = (IPacketIOService)service; // CotpServer 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); }