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