static async Task Main(string[] args) { var appName = Assembly.GetEntryAssembly().GetName().Name; using (var mutex = new Mutex(true, appName + "Singleton", out bool amIFirst)) { if (!amIFirst) { return; // only allow one instance of the app } else { ShowWindow(Process.GetCurrentProcess().MainWindowHandle.ToInt32(), 6); // start minimized Trace.AutoFlush = true; Trace.Listeners.Add(new TextWriterTraceListener(File.CreateText("log.log")) { TraceOutputOptions = TraceOptions.DateTime | TraceOptions.ThreadId }); Trace.Listeners.Add(new ConsoleTraceListener() { TraceOutputOptions = TraceOptions.DateTime | TraceOptions.ThreadId }); ANTDeviceManager manager = new ANTDeviceManager(); ANTServer server = new ANTServer(manager); manager.Init(); manager.Start(); await server.StartServer(); } } }
public ANTServer(ANTDeviceManager manager) { this.manager = manager; listener = new TcpListener(new System.Net.IPEndPoint(System.Net.IPAddress.Loopback, TCP_LISTEN_PORT)); }