private async Task ReadThread() { try { var stream = _socket.GetStream(); while (!Disconnected) { var tcpData = await _tcpSerializer.Deserialize(stream); _socketStatistic.LastRecieveTime = DateTime.UtcNow; _socketStatistic.Recieved += tcpData.Item2; if (tcpData.Item1 != null) { await TcpService.HandleDataFromSocket(tcpData.Item1); } } } catch (Exception exception) { await Disconnect(); _log.Add("Error ReadData [" + Id + "]:" + exception.Message); } }