crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> [QNetworkAccessManager] Увеличить количество одновременных подключений
Greg
  опции профиля:
сообщение 5.1.2016, 19:56
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 5.1.2016
Пользователь №: 4513

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте форумчане.

Как увеличить число одновременных запросов к одному серверу\порту используя класс QNetworkAccessManager?
В документации сказано, что стоит ограничение в 6 запросов к одному серверу\порту.


Я отредактировал константу defaultHttpChannelCount в исходном файле qhttpnetworkconnection.cpp Qt 5.5.1, но количество запросов увеличилось с 6 до 10.

До редактирования:
const int QHttpNetworkConnectionPrivate::defaultHttpChannelCount = 6;


После:
const int QHttpNetworkConnectionPrivate::defaultHttpChannelCount = 600;


Как тестировал:
Отправлял циклом запросы на свой сервер:
    for(int i = 0; i < 550; ++i)
        srv->wake(i);


На сервере делал задержку в одну секунду и отдавал ответ:
        int msec = 1 * 1000000;
        auto cmd = request.getParameterValues("comand");
        usleep(msec);
        response.out() << cmd.front();


В логе видно, что на сервер приходит по 10 запросов, когда ожидались все 550 "одновременно".
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Greg
  опции профиля:
сообщение 6.1.2016, 0:40
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 5.1.2016
Пользователь №: 4513

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Greg @ 5.1.2016, 19:56) *
Здравствуйте форумчане.

Как увеличить число одновременных запросов к одному серверу\порту используя класс QNetworkAccessManager?
В документации сказано, что стоит ограничение в 6 запросов к одному серверу\порту.


Я отредактировал константу defaultHttpChannelCount в исходном файле qhttpnetworkconnection.cpp Qt 5.5.1, но количество запросов увеличилось с 6 до 10.

До редактирования:
const int QHttpNetworkConnectionPrivate::defaultHttpChannelCount = 6;


После:
const int QHttpNetworkConnectionPrivate::defaultHttpChannelCount = 600;


Как тестировал:
Отправлял циклом запросы на свой сервер:
    for(int i = 0; i < 550; ++i)
        srv->wake(i);


На сервере делал задержку в одну секунду и отдавал ответ:
        int msec = 1 * 1000000;
        auto cmd = request.getParameterValues("comand");
        usleep(msec);
        response.out() << cmd.front();


В логе видно, что на сервер приходит по 10 запросов, когда ожидались все 550 "одновременно".

Количество подключений увеличилось, проверил на сервере товарища. Проблема решена.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.4.2024, 7:07