Russian Qt Forum

Qt => Вопросы новичков => Тема начата: demaker от Декабрь 07, 2011, 14:19



Название: Работа с сервером
Отправлено: demaker от Декабрь 07, 2011, 14:19
Есть многопоточый сервер, который работает на подобие ФортунСервера.
Подскажите пожалуйста как ограничить количество соединений.

Делаю вот так:
void EchoServer::incomingConnection(int socketDescriptor)
{
  if (connectCounter >= 3) return
  connectCounter++;
  EchoThread* thread = new EchoThread(socketDescriptor,this);
 

 thread->start();
}
но мне кажется,что это неправильно.


Название: Re: Работа с сервером
Отправлено: demaker от Декабрь 07, 2011, 14:58
Вроде разобрался.
Вот код:

void EchoServer::incomingConnection(int socketDescriptor)
{
      if (connectCounter >= maxConnection)
    {
        QTcpSocket*client = new QTcpSocket();
        if(!client->setSocketDescriptor(socketDescriptor))
        {
            //emit error(client->error());
            return;
        }

        client->close();
        return;
    }

    connectCounter++;                                         
    EchoThread* thread = new EchoThread(socketDescriptor,this);


  thread->start;
}

Может подругому можно еще как-то? Посоветуйте пожалуйста :)
Спасибо :)


Название: Re: Работа с сервером
Отправлено: Странник от Декабрь 07, 2011, 15:42
а QTcpSocket за вас удалять кто будет?


Название: Re: Работа с сервером
Отправлено: demaker от Декабрь 09, 2011, 10:57
Спасибо ::)