Russian Qt Forum
Ноябрь 24, 2024, 08:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с сервером  (Прочитано 2158 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« : Декабрь 07, 2011, 14:19 »

Есть многопоточый сервер, который работает на подобие ФортунСервера.
Подскажите пожалуйста как ограничить количество соединений.

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

 thread->start();
}
но мне кажется,что это неправильно.
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #1 : Декабрь 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;
}

Может подругому можно еще как-то? Посоветуйте пожалуйста Улыбающийся
Спасибо Улыбающийся
Записан
Странник
Гость
« Ответ #2 : Декабрь 07, 2011, 15:42 »

а QTcpSocket за вас удалять кто будет?
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #3 : Декабрь 09, 2011, 10:57 »

Спасибо Строит глазки
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.056 секунд. Запросов: 23.