Здравствуйте, TailWind, Вы писали:
TW>Подскажите новичку, как организовать структуру программы
Возмите готовую библиотеку. https://github.com/yhirose/cpp-httplib
TW>Нужно чтобы был Keep Alive. То есть чтобы tcp соединение не разрывалось после получения одной страницы, а ждало следующую
Какие проблемы?
TW>На каждое соединение создавать поток?
Нет не нужно. Смотрите в сторону https://think-async.com/Asio/https://libuv.org/
TW>Есть какое-то ограничение на количество сокетов и потоков? Ограничения всегда есть
Здравствуйте, reversecode, Вы писали:
R>обучать и разжевывать вам сильно дорого, для тех кто действительно знает
И мне кажется, все, кто знает, взяли и сами разобрались, а не задавали наивных вопросов в форуме.
А топикстартеру я бы пожелал не связываться. HTTP кажется простым протоколом, но в нем есть много тонких нюансов (я в разное время написал для разных надобностей пару серверов и штуки три клиента, так что имею соответствующий опыт).
Здравствуйте, TailWind, Вы писали:
TW> Я уже всё написал на C++ и сокетах TW> Всё отлично работает и нагрузку держит TW> Я просто боялся создавать отдельный поток на каждый сокет
TW> Протестировал. Винда может создать до 1900 потоков
Уменьши дефолтный размер стека — станет еще больше. Сбилди в x64 станет ваще очень много
Здравствуйте, TailWind, Вы писали:
TW>Я уже всё написал на C++ и сокетах TW>Всё отлично работает и нагрузку держит TW>Я просто боялся создавать отдельный поток на каждый сокет
Рекомендую почитать — nginx architecture https://www.aosabook.org/en/nginx.html
TW>Протестировал. Винда может создать до 1900 потоков TW>Время создания нулевое
Время создания нулевое, но при большом числе потоков начинаются иные расходы и штрафы.
Здравствуйте, reversecode, Вы писали:
R>все так же как и с селёдкой
очень интересное сравнение.
с этим вопросом я вышел в сеть интернет обратился к ChatGPT.
> В чём сходства протокола HTTP и селёдки?
Протокол HTTP и селёдка — два абсолютно разных объекта, поэтому найти между ними явные сходства может быть довольно сложно.
Однако, если говорить в шутливом ключе, то можно привести следующие параллели:
Оба слова начинаются на букву "H".
HTTP и селёдка используются людьми в повседневной жизни.
Как и HTTP, селёдка может передаваться через сеть — в виде заказа в интернет-магазине или доставки еды на дом.
Но, конечно же, это все аналогии не имеющие прямого отношения к функциональности и свойствам HTTP и селедки.
казалось бы, ничего интересного, но см. выделенное.
торчат англоязычные уши.