Проблема, которую вы считаете существующей, не существует. Вы даже можете обрабатывать несколько клиентов в одном потоке, если действительно хотите. Bind, Listen, loop и принимать новые соединения. Ядро обрабатывает фактический стек tcp / ip, поэтому после того, как вы связываетесь и начинаете слушать, вы в основном указываете ядру обрабатывать новые соединения, поступающие на указанный вами порт. Тот факт, что вы не блокируете «Принять» в момент установления соединения, не означает, что вы не сможете обработать эту попытку подключения.
Как я уже сказал, попробуйте - проведите несколько тестов, чтобы убедиться в этом.