Постоянная аутентификация с помощью finagle

Я разрабатываю стратегическую игру по очереди и пытаюсь сделать многопользовательскую часть. Я никогда не делал ничего подобного, но получил сильный совет по использованию rpc. Мои многопользовательские игры будут размещаться на главном сервере, и в основном игрок отправляет то, что он делает, и получает новое состояние игры. Если я правильно понимаю, с архитектурой rpc сервер может только ответить на запрос, который он получил.

Так что я подумал, что игрок сначала заходит на сервер, отправляя учетные данные, он посылает то, что он делает, по rpc и каждые x миллисекунд он пытается обновить свою текущую игру (отправляя запрос "обновить"). Что я не понимаю, так это то, как с этим у меня может быть память об аутентификации. Нужно ли мне каждый раз переписывать (и отправлять учетные данные) для каждого запроса (это кажется огромным количеством информации для отправки). Как распознать запрос от кого-то, кому я предоставил аутентификацию? Как я могу обработать логику между согласованным, но разделенным запросом?

1 ответ

Одним из возможных решений является поддержка сеанса на стороне сервера.

Когда пользователь входит в систему, вы можете создать идентификатор сеанса и сохранить идентификатор сеанса в соответствии с данными сеанса (идентификатор пользователя и т. Д.), Отображаемыми на сервере. Данные сеанса могут храниться в памяти или в некотором хранилище значений быстрого ключа, например, redis или memcached. Когда вы сохранили свои данные, вы можете отправить идентификатор сеанса обратно клиенту. Теперь вы можете отправить этот идентификатор сеанса на сервер, чтобы идентифицировать пользователя.

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