LINUX.ORG.RU

C++, boost asio, сетевой сервер на 10К клиентов.


1

5

Ну, есть такая «проблема 10K» - потоков/процессов столько не насоздаёшь, да и нерационально иметь потоков больше числа ядер, а select() тоже не поюзаешь, ибо каждый раз гонять между ядром и приложением 10К-кусок данных - не круто. И тут приходит epoll и все радуются. Или там kqueue или чё-то такое.

А вот как это представлено в boost::asio?

А вот как это представлено в boost::asio?

Какой ответ ты хочешь услышать? Представлено так, что там, где есть epoll, используется epoll, а там, где kqueue - kqueue. Ну и Overlapped IO на винде.

yoghurt ★★★★★
()

Вот и выросло поколение, которое знает лишь boost. Выкинь буст и начни думать сам. Берешь один поток, прикручиваешь epoll. Берешь второй поток, прикручиваешь логику.

А еще есть специальные либы поверх epoll. Тебе нужна libuv.

gh0stwizard ★★★★★
()

Ну, есть такая «проблема 10K»

горизонтальное масштабирование во все поля.

MikeDM ★★★★★
()
Ответ на: комментарий от pathfinder

Откуда я знаю. Вопрос ТС был задан так будто epoll/kqueue в мультипоточных приложениях не работает.

gh0stwizard ★★★★★
()
Ответ на: комментарий от gh0stwizard

выросло поколение, которое знает лишь boost.

здорово! говнокодеров меньше, качество кода выше, скорость разработки выше.

Выкинь буст и начни думать сам.

думать над чем? над тем как «нечто» заговнокодить?

niXman ★★★
()

А вот как это представлено в boost::asio?

очень качественно, юзабильно, расширяемо.

вопрос-то в чем?

niXman ★★★
()
Ответ на: комментарий от gh0stwizard

прикручиваешь epoll

Вот и выросло поколение, которое знает лишь линукс :).

true_admin ★★★★★
()
Ответ на: комментарий от niXman

думать над чем?

Посыл был прост: разбираться как и что работает внутри. Мне показалось или ты считаешь, что надо изучать лишь фреймворки, потому что шеф палкой погоняет быстрее писать код?

gh0stwizard ★★★★★
()
Ответ на: комментарий от gh0stwizard

тебе показалось.

нет смысла изучать системной программирование тому, кто является прикладным разработчиком. да и нет смысла вообще изучать API системы, если нет цели кодить исключительно под эту систему.

niXman ★★★
()
Ответ на: комментарий от niXman

тебе показалось.
нет смысла изучать...
...нет смысла вообще изучать...

Нда, в жизни нет смысла. Но это не мешает нам заниматься всякой фигней. :)

pathfinder ★★★★
()
Ответ на: комментарий от niXman

Вопрос в том, надо - ли держать в голове знание о epoll, когда юзаешь boost::asio - ну типа включать какой-то режим там или оно само оптимальным образом всё реализует?

kiverattes ★☆
() автор топика
Ответ на: комментарий от kiverattes

оно само.

тебе-то что конкретно реализовать надо? могу подсобить наставлениями/архитектурой/ссылками.

niXman ★★★
()
Ответ на: комментарий от niXman

А корутины из asio использовал кто-нибудь? А то чистый asio уже не модно как то.

placement_new ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.