В игре ли пользователь или нет

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

В игре ли пользователь или нет

Сообщение XELAD »

Здравствуйте.
Ситуация такова:
Есть flash приложение без контейнера. У каждого пользователя в игре есть свой участок.
Идея:
Когда пользователь заходит к другу, и тот не в игре, то приложение сохранит изменения на участке друга. Как будто пользователь был владельцем того участка.
Но когда пользователь заходит к другу, и тот в игре, то приложение не сохранит изменения на участке друга.
Задача:
Когда участок пытается сохраниться не от имени его владельца, мы должны узнать в игре ли владелец, и сохранить если он отсутствует.
Пояснение:
Игра сохраняется периодически, другими словами постоянный обмен с сервером не ведется, постоянная запись в mySQL "я в игре" отпадает.
Мне не требуется узнавать, online ли в ВК пользователь, нужно узнать в игре ли он.

Обдумывал этот вопрос и так и сяк, с одной стороны нужно, "когда участок пытается сохраниться", чтобы сервер запросил у владельца, в игре ли он. Ответа нет - значит не в игре. Я много раз использовал POST к серверу, вызывал скрипт и получал ответ. Возможен ли вообще обратный процесс, когда сервер без запроса что-то передаст пользователю (к примеру по IP, которому было последнее сохранение игрока)?
Или другой вариант, в связи с новыми обновлениями, когда в статусе пользователя указывают что он в таком-то приложении, можно ли через VKapi получить эту информацию?
Или может я придумываю велосипед, если нужны какие-либо дополнения, всё расскажу.

Задача непростая, буду рад помощи! Спасибо заранее.
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: В игре ли пользователь или нет

Сообщение sanych_dv »

Смотрите в сторону p2p.
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: В игре ли пользователь или нет

Сообщение XELAD »

Интересует вот это http://vk.com/developers.php?oid=-1&p=% ... 1%82%D0%B5
, а точнее временные переменные 1536-4095. Как там написано "могут быть стерты по истечении часа".
Предположим действовать по такой системе: владелец участка зашел и записал в эту временную переменную "я в игре". Друг зашел в гости, VKapi прочитала переменную и выяснила что владелец в игре.
Возникает вопрос, когда удаляются эти временные переменные, кто-нибудь их использовал, дайте совет?
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: В игре ли пользователь или нет

Сообщение Serge »

Не знаю, можно ли, просто может поможет.
Когда запускаешь приложение в статус идет его название, пока не снимешь ручками галку. Возможно это можно как-то использовать.
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: В игре ли пользователь или нет

Сообщение XELAD »

Понимаю,что форум не работал, но неужели никто не использовал putVariable во временные переменные?
Попробовал у себя, почему то они вообще не удаляются, день прошел :(
Понимаю, что можно создать аналог у себя на сервере, но не хочется изобретать колесо.
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: В игре ли пользователь или нет

Сообщение sanych_dv »

Когда пользователь зашел в приложение - вы отследите. А вот когда вышел - это большой вопрос. И останется в вашей переменной значение online = true )
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: В игре ли пользователь или нет

Сообщение XELAD »

Это я прекрасно понимаю. На странице (по приведенной выше ссылке) указано чёрным по белому: "временные переменные могут быть стерты по истечении часа". Что значит "могут быть" - не объяснено. По какому принципу удаляются, тоже. Но суть не в этом, мне важен факт того, что они именно удалятся. Пока что этот факт я не наблюдаю, хотя putVariable и другие "устаревшие методы" работают... :?
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: В игре ли пользователь или нет

Сообщение sanych_dv »

p2p будет работать не на 100%, но в любом случае намного точнее, чем отфонарное по времени удаление сессии. И если уж пользовать сессионные переменные, то хранить их на своем сервере.
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: В игре ли пользователь или нет

Сообщение XELAD »

sanych_dv
Посмотрел я p2p, немного не понял каким боком его применять. Если набросаете план, буду очень благодарен.

Прихожу к сессионным переменным у себя на сервере, приделываю сейчас за неимением лучшего. Придется увеличить нагрузку на сервер... или найти другое решение.
Ответить