Example #1
0
void ourtrackserv::slotReadClient()
{
  QTcpSocket* clientSocket = (QTcpSocket*)sender();
  int idusersocs = clientSocket->socketDescriptor();

  // Получаем флаг запроса
  char flag;
  if (!clientSocket->getChar(&flag))
  {
    qDebug() << "Error flag read";
    clientSocket->close();
    SClients.remove(idusersocs);
    return;
  }

  switch (flag)
  {
  case FLAG_FIND:
    {
      FindQueryDissect(clientSocket);
      break;
    }
  case FLAG_ADD:
    {
      AddQueryDissect(clientSocket);
      break;
    }
  case FLAG_LIKED:
    {
      LikeQueryDissect(clientSocket);
      break;
    }
  case FLAG_LAST:
    {
      GetLastQueryDissect(clientSocket);
      break;
    }
  case FLAG_PLDOWN:
    {
      PlusDownloadQueryDissect(clientSocket);
      break;
    }
  default:
    {
      break;
    }
  }

  clientSocket->close();
  SClients.remove(idusersocs);
}