Создание комнат в Node JS для многопользовательских игр с использованием Deepstream

Мы создаем игровой сервер для игр казино через DeepStream, мы пишем его в Node JS . Я использую DeepStream List, чтобы создать комнаты с минимальным и максимальным лимитом клиентов (количество списков). В комнате может быть максимум 5 клиентов. Так что, если я скажу, что у нас есть 10000 доступных номеров, а затем пришёл новый пользователь, чтобы подключиться, то как я могу быстро проверить список свободных номеров или DS, которые свободны для нового подключения, в основном, мне нужно поискать в этом списке свободный пробел или список которых меньше 5. Какой самый быстрый способ сделать это

1 ответ

Если вы используете соединитель глубокой базы данных, вы можете написать запрос, который получает неполные комнаты из базы данных и предоставляет их в виде расширенного списка. С базой данных в реальном времени, такой как ReThinkDB, каналы изменений могут использоваться для обновления списка в реальном времени, в противном случае вам нужно будет опрашивать базу данных с помощью запросов.
Однако это оставляет проблему пользователей, присоединяющихся к комнате одновременно. Это может быть возможно с помощью правил клапана, см. Здесь. Более традиционный подход, позволяющий избежать этой проблемы, заключается в использовании центрального поставщика RPC для обработки запросов на присоединение к комнате, которые принимаются только при наличии свободного места. Если вы не используете базу данных, вы, вероятно, захотите настроить поставщика, который отвечает за ведение списка комнат с пробелами, а также за обработку запросов RPC о присоединении.

Другие вопросы по тегам