Возьми плюсы и буст асио. В нём есть и пул потоков и работа с сетью. Теперь напиши "1 поток 1 клиент" и сервер на пуле потоков. После этого либо ты согласишься, что первый вариант проще, либо я пойму, что понятие простоты для тебя совсем не такое, как для меня.
PS: все эти действия могут быть чисто умозрительными. _________________ На опушке маленький мальчик плакал от страха и кричал: "Волк, волк!", а волк, стоя за кустом, с тоской думал, что главная беда с маленькими мальчиками - их совершенное неумение расставаться.
Уверен, что если у тебя есть сторонний сервер 1 поток 1 клиент и сторонний пул потоков, то ни одно из решений не проще другого - ты посылаешь запросы чёрному ящику и в том, и в другом случае. _________________ grammar nazi,
scientific whore.
Вопрос в том что делать когда пришёл от черного ящика ответ "пришли данные"
1-1:
Грубо говоря у тебя есть инстанс черного ящика, к которому разные потоки для клиентов обращаются, передавая this в качестве идентификатора того, от какого клиента они хотят забрать данные.
Данные пришли в объект (однозначно идентифицирующий клиента), обрабатываем, посылаем ответ.
Пул.
В каждом потоке из пула ты забрал каким-то образом данные из черного ящика. Далее, своим способом ты узнаешь от кого эти данные пришли. Допустим по мапе айди пользователя->объект сессии. Работа с мапой, вопросы "что делать если запрос пришел медленный и как быть остальным запросам в этом же потоке", возможно, какое-то еще распределение на критичные и некритичные задачи и всё такое прочее тебе придётся реализовывать, библиотека на себя это не возьмёт.
Что проще? _________________ На опушке маленький мальчик плакал от страха и кричал: "Волк, волк!", а волк, стоя за кустом, с тоской думал, что главная беда с маленькими мальчиками - их совершенное неумение расставаться.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах