Добрый день, уважаемые форумчане!
Решил создать веб-приложение: клиент на JS, сервер на Python, обмен данными через websockets. Приложение - наподобие карточной игры: в одной партии конечное число участников (до 5), количество одновременно играемых партий на сервере ограничено только мощностью (по факту вряд ли больше 10 одновременно будет), одна партия конечной продолжительности. Клиенты внутри одной партии должны иметь доступ к одному и тому же набору данных, наборы данных в двух разных партиях никак не связаны между собой.
Как бы вы посоветовали строить схему взаимодействия “клиент-сервер” в такой системе? Обязательно ли для каждого подключившегося клиента делать threading.Thread(…).start(), или можно как-то обойтись одним главным потоком, получать данные параллельно со всех подключенных клиентов и обрабатывать их? Сервер сам по себе не генерирует никаких событий, а выдает некий объем информации всем участникам партии только в ответ на пришедший с одного из клиентов запрос.