private static async Task HandleClient(TcpClient tcpClientSocket) { var isClientConnected = true; IClientDataAccess clientDataAccess = new ClientDataAccess(); IClientService clientService = new ClientService(clientDataAccess); DateTime hour = DateTime.Now; string connectionHour = hour.Hour + ":" + hour.Minute; int token = clientService.AddClient(connectionHour); try { using (var networkStream = tcpClientSocket.GetStream()) { SendMenu(networkStream); IFrameHandler frameHandler = new FrameHandler(networkStream); while (isClientConnected) { var frame = await frameHandler.ReadDataAsync(); var printiame = Encoding.ASCII.GetString(frame); Console.WriteLine("Now handeling: " + printiame); isClientConnected = HandleRequest(frame, networkStream); } clientService.RemoveClient(token); } } catch (SocketException) { Console.WriteLine("The client connection was interrupted"); } }
private void HandleConnectionReceived(object sender, ConnectionReceivedEventArgs e) { _clientService.AddClient(e.Login); _wsServer.Send(e.Login, String.Empty, new ConnectionBroadcast(e.Login, e.IsConnected, DateTime.Now).GetContainer()); }