LINUX.ORG.RU

Многопоточный сервер (клиент=потомок) помогите с взаимодействием...


0

1

Пишу многопоточный сервер, где каждый подключенный клиент = fork, но вот столкнулся с проблемкой, когда необходима массовая рассылка одного из потоков на остальных клиентов (как общая на всех, так и в зависимости от типа). Помогите со способами реализации данного механизма, при помощи чего можно поддерживать связь между потомками??? Сервер пишу на С++ по Linux. Зарание огромное спасибо за советы.


Ответ на: комментарий от metawishmaster

А если не сложно ссылочку на примерчик или способ реализации???? Согласен, не эконом класс, но зачастую каждый клиент может загнать в тяжкую ситуацию всех (это если асинхронка), а использование нитей (pthread) тоже рассматривалась, вот только ограничевается она кол-вом в 380, а нужно больше на сложные операции...

cfox
() автор топика

Отдельный процесс-брокер + коннекты (unix сокеты или айпы) от каждого форкнутого процесса к брокеру. Брокер может быть и мастер процессом, и отдельным. Тут всё зависит от объёмов рассылаемых данных и частоты их рассылки.

anonymous
()
Ответ на: комментарий от cfox

Если что-то более-менее серьёзное, мне недавно попадалась статья по свежему apache 2.4. Там как раз провели улучшение балансировки нагрузки. Во всех деталя самому, наверняка, не повторить, но можно хорошо сориентироваться по их опыту (thread pools, очереди в них).

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

А зачем клиент=потомок ил клиент=новый тред? Если уж на C++ - брали бы Boost.Asio. Там примеров масса.

ratatosk
()

Шареную память заюзай.

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