// See https://aka.ms/new-console-template for more information using qmonlib; using Quadarax.Foundation.Core.Logging; var logger = new ConsoleLogger(); var cancel = new CancellationTokenSource(); new Thread(() => { OnStartReceiver(cancel.Token); }).Start(); using (var cli = new QMonClient("TST", QMonClientConfiuration.CreateDefault(), logger)) { Console.WriteLine("Press any key to close..."); Console.ReadKey(); cancel.Cancel(); } void OnGeneralReceived(MonGeneral general) { Console.WriteLine($"General received: {general.InstanceIdentifier} items count {general.Items.Count}"); } void OnStartReceiver(CancellationToken cancelToken) { using (var rcv = new QMonReceiver(QMonReceiverConfiguration.CreateDefault(), logger, OnGeneralReceived)) { while (!cancelToken.IsCancellationRequested) Thread.Sleep(100); } Console.WriteLine("Receiver stopped"); }