/// <summary> /// MainProgram /// </summary> static void Main(string[] args) { int ClientsCount = 0; TcpListener ServerSocket = new TcpListener(IPAddress.Any, 15051); ServerSocket.Start(); Logger.InitLogger(); Logger.Log.Info("Server started"); _ctsUpdateToken = new CancellationTokenSource(); _ctsWorkToken = new CancellationTokenSource(); _GlobalOrderBook.Init(); _TradeHistory.Init(); TMainModel.SetOrderBook(_GlobalOrderBook); TMainModel.SetOrderTradeHistory(_TradeHistory); _DClients = TMainModel.DClientsInit(); while (true) { TcpClient client = ServerSocket.AcceptTcpClient(); string UsGuid = Guid.NewGuid().ToString(); TMainModel.AddCllientToDict(UsGuid, client); _newclientDetected = true; Console.WriteLine($"New client {client.Client.RemoteEndPoint} connected!!"); Logger.Log.Info($"New client {client.Client.RemoteEndPoint} connected!!"); var CheckClient = Task.Run(() => TMainModel.IsConnected(client), _ctsUpdateToken.Token); var HandleClient = Task.Run(() => HandleClients(UsGuid), _ctsWorkToken.Token); ClientsCount++; } }