Надо написать на С/С++ сетевой мультиплексор, который будет принимать запросы от клиентов из локальной сети и транслировать их на удаленный сервер и обратно. TCP-cоединение с клиентом поддерживается постоянно. Связь с удаленым сервером возможна только по одному соединению. Все бы ничего, но клиентов ожидается несколько тысяч.
Есть ли какие-то секреты при написании таких програм? Есть ли системное ограничение на максимальное количество одновременных соединений у процесса и можно ли его преодолеть?
Если кто писал что-то подобное, поделитесь пожалуста опытом.
Сейчас этот мультиплексор реализован в виде одного процесса который делает внутри себя select и последовательно обрабатывает данные от каждого клиента, но при таком подходе уже при 100 клиентах начинаются проблемы с производительностью.