| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Сети > Несколько вопросов по моделям ввода-вывода |
| Автор: Runcorn 16.2.2012, 02:11 |
| Всем привет. У меня есть пару общих вопросов по моделям ввода-вывода при работе с сетью на стороне сервера. Модель, при которой на один клиент создается один поток, является неэффективной, так как происходят слишком большие и ненужные расходы ресурсов системы. Обычно создают пул потоков для этого дела. Мне интересно, как реализовать правильный пул потоков? Я знаю, что очень часто используются порты завершения для работы с пулом. Почему именно порты завершения? Еще такой вопрос: можно ли связать пул потоков с ассинхронными сокетами, основанными на событиях? Также, являются ли сокеты, основанные на событиях, лучшими за сокеты, основанные на сообщениях? Меня пока что не интересуют высокоуровневые классы для работы с сетью. Я хочу разобраться на более низком уровне. Заранее всем спасибо за ответы. |
| Автор: boostcoder 16.2.2012, 03:48 |
| все очень расплывчато %) читать темы полностью, и именно в этом порядке, и переходить по ссылкам: http://forum.vingrad.ru/forum/topic-341333/view-all.html http://forum.vingrad.ru/forum/topic-342722/kw-disruptor.html как закончишь - задавай вопросы по существу, пожалуйста. |
| Автор: newbee 16.2.2012, 16:29 |
| Порт завершения - это что-то типа http://linux.die.net/man/4/epoll? |
| Автор: Runcorn 18.2.2012, 12:53 | ||
Я написал вопросы, которые меня интересуют в первом посте. Первую ссылку уже читал раньше, вторую еще прочитаю. Олег2005, спасибо за ответ. Кто нибудь читал хорошие статьи по портам завершения? Скиньте, если можете. Язык C/C++, но не принципиально. |
| Автор: 12usver12 18.2.2012, 14:00 | ||
так в чем проблема ? в инете очень много статей и примеров по портам завершения. Если вы не делаете игровой сервер на миллион пользователей - то попроще каркас у сервера будет через Completion Routines(Callbacks), а эффективность приближается к iocp если не такая же. |
| Автор: boostcoder 18.2.2012, 16:32 | ||
:facepalm |