2013-06-15 2 views
2

Я создаю карточную игру с node.js в качестве сервера, и я использую веб-сокеты (socket.io) для передачи данных с сервера на клиент.Сохранение состояния веб-страницы с socket.io

так что после раздачи карт я хочу, если кто-то обновит страницу, он может видеть текущее состояние игры, в моем случае он просто ничего не видит, карты не раздаются и игроков нет. поэтому есть способ сохранить состояние игры всякий раз, когда игрок обновляет страницы, на которых он может видеть все изменения, которые происходят с html-страницей.

ответ

1

Один из способов сделать это - иметь фактическое состояние игры на сервере. Таким образом, когда пользователь перезагружает страницу, страница просто запрашивает состояние с сервера. Это в основном означает, что игра на самом деле находится на сервере, а ваши клиенты - просто «удаленные элементы управления» для игры на сервере.

Другой способ - сохранить состояние локально, используя локальное хранилище. Тем не менее, в последний раз, когда пользователь находился в игре и во время его возвращения (например, карта, или карта, карта, карта и т. Д.), Могли быть изменения.

Вы даже можете использовать оба варианта. Где вы сначала читаете локальное хранилище для состояния. Таким образом, перед тем, как вы уйдете, у вас есть состояние руки. Затем вы можете запросить сервер для внесения изменений и соответственно активировать игру.

+0

Отлично, я попробую это спасибо :) – ziz194

+0

любые идеи, как сохранить фактическое состояние игры на сервере? – ziz194

+0

@ ziz194 Некоторые механизмы хранения, такие как базы данных или обычные хранилища в памяти, такие как массивы. – Joseph