![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
fry |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 4.10.2006 Репутация: нет Всего: 3 |
Lazin, ты сам ответил на свой вопрос:
Я и предложил. К тому, что должен делать метод. Этот метод может как минимум выполнять операции В\В через сокет:
По части количества потоков. Думаю для этого надо иметь ввиду еще и политику планирования их выполнения, хотя конечно надо проверять (в целом это как пример было); ИМХО может зависеть от конкретной ОС. Кстати при такой архитектуре контекст выполнения будет абстрагирован от данных о задаче, что заранее даст возможность развития кода в сторону кластерных систем,а при увеличении количества обрабатываемой информации(файлообмен например) это может быть интересным. Р.S. "Должно сработать" звучало главным образом относительно небольшого количества данных, обрабатываемых сервером при большом количестве клиентов при архитектуре "один поток - одно соединение". |
||||
|
|||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 1 Всего: 20 |
2 года работает у меня такой сервер. Держит постоянно 1000 клиентов. Нагрузка на железо минимальная. Постоянно шарит по БД размером 15гб. P.S. Это я про сервер один поток - одно соединение. Это сообщение отредактировал(а) Artemon - 16.4.2009, 06:13 -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
Там написано 2000-3000. 3000 потоков на одной машине??? ![]() |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 5 Всего: 154 |
а почему нет? Правда расходы на каждого клиента большие, каждый поток должен иметь стек, допустим 1Мб, тогда получается 3К потоков, это примерно 3Гб, для современного сервера - не вопрос. Другой ресурс - процессороное время, расходы на работу планировщика задач будут очень большими при такой архитектуре, сколько процентов времени своей работы процессор будет выполнять код планировщика задач я не могу сказать, но могу предположить что много ![]() Но при небольшом количестве клиентов покатит. http://www.boost.org/doc/libs/1_38_0/doc/h...o/examples.html на этой странице есть пример чата(клиент и сервер) использующие boost.asio ![]() Добавлено через 2 минуты и 5 секунд правда он там однопоточный ![]() |
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
размер стека 1мб это значение по умолчанию, его можно изменить..а почему нет - так ты сам на свой вопрос ответил ![]()
|
||||
|
|||||
J0ker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 1 Всего: 14 |
не понимаю чем не подходит паттерн "реактор" |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |