Используя один поток на соединение, вы обычно можете масштабировать до 10 000 соединений на одном компьютере. Для компьютера с Windows 32 вы, вероятно, достигнете предела около 1000 подключений.
Чтобы избежать этого, вы можете либо изменить дизайн вашей программы, либо вы можете уменьшить ее (по горизонтали). Вы должны взвесить стоимость разработки со стоимостью аппаратного обеспечения.
Один поток на пользователя с одним непрерывным соединением обычно является самой простой моделью программирования. Я бы придерживался этой модели, пока вы не достигнете пределов своего текущего оборудования. На этом этапе я решил бы либо изменить код, либо добавить больше оборудования.