Как я знаю, s.listen (5) используется для того, чтобы сервер мог прослушивать до 5 клиентов.
Нет.s.listen(5)
объявляет отставание размера 5. Это означает, что прослушивающий сокет пропустит 5 запросов на соединение в ожидании, заявленных до того, как они будут приняты.Каждый раз, когда запрос на соединение принимается, он больше не находится в состоянии ожидания.Таким образом, нет никаких ограничений (кроме ресурсов сервера) на число принятых соединений.
Обычное использование многопоточности - запуск нового потока после того, как соединение было принято для обработкиэта связь.Альтернативой является использование select
в одном потоке для обработки всех соединений в одном потоке.Это было правилом до того, как многопоточность стала распространенной, но это может привести к более сложным программам