В игре ли пользователь или нет
В игре ли пользователь или нет
Здравствуйте.
Ситуация такова:
Есть flash приложение без контейнера. У каждого пользователя в игре есть свой участок.
Идея:
Когда пользователь заходит к другу, и тот не в игре, то приложение сохранит изменения на участке друга. Как будто пользователь был владельцем того участка.
Но когда пользователь заходит к другу, и тот в игре, то приложение не сохранит изменения на участке друга.
Задача:
Когда участок пытается сохраниться не от имени его владельца, мы должны узнать в игре ли владелец, и сохранить если он отсутствует.
Пояснение:
Игра сохраняется периодически, другими словами постоянный обмен с сервером не ведется, постоянная запись в mySQL "я в игре" отпадает.
Мне не требуется узнавать, online ли в ВК пользователь, нужно узнать в игре ли он.
Обдумывал этот вопрос и так и сяк, с одной стороны нужно, "когда участок пытается сохраниться", чтобы сервер запросил у владельца, в игре ли он. Ответа нет - значит не в игре. Я много раз использовал POST к серверу, вызывал скрипт и получал ответ. Возможен ли вообще обратный процесс, когда сервер без запроса что-то передаст пользователю (к примеру по IP, которому было последнее сохранение игрока)?
Или другой вариант, в связи с новыми обновлениями, когда в статусе пользователя указывают что он в таком-то приложении, можно ли через VKapi получить эту информацию?
Или может я придумываю велосипед, если нужны какие-либо дополнения, всё расскажу.
Задача непростая, буду рад помощи! Спасибо заранее.
Ситуация такова:
Есть flash приложение без контейнера. У каждого пользователя в игре есть свой участок.
Идея:
Когда пользователь заходит к другу, и тот не в игре, то приложение сохранит изменения на участке друга. Как будто пользователь был владельцем того участка.
Но когда пользователь заходит к другу, и тот в игре, то приложение не сохранит изменения на участке друга.
Задача:
Когда участок пытается сохраниться не от имени его владельца, мы должны узнать в игре ли владелец, и сохранить если он отсутствует.
Пояснение:
Игра сохраняется периодически, другими словами постоянный обмен с сервером не ведется, постоянная запись в mySQL "я в игре" отпадает.
Мне не требуется узнавать, online ли в ВК пользователь, нужно узнать в игре ли он.
Обдумывал этот вопрос и так и сяк, с одной стороны нужно, "когда участок пытается сохраниться", чтобы сервер запросил у владельца, в игре ли он. Ответа нет - значит не в игре. Я много раз использовал POST к серверу, вызывал скрипт и получал ответ. Возможен ли вообще обратный процесс, когда сервер без запроса что-то передаст пользователю (к примеру по IP, которому было последнее сохранение игрока)?
Или другой вариант, в связи с новыми обновлениями, когда в статусе пользователя указывают что он в таком-то приложении, можно ли через VKapi получить эту информацию?
Или может я придумываю велосипед, если нужны какие-либо дополнения, всё расскажу.
Задача непростая, буду рад помощи! Спасибо заранее.
Re: В игре ли пользователь или нет
Смотрите в сторону p2p.
Re: В игре ли пользователь или нет
Интересует вот это http://vk.com/developers.php?oid=-1&p=% ... 1%82%D0%B5
, а точнее временные переменные 1536-4095. Как там написано "могут быть стерты по истечении часа".
Предположим действовать по такой системе: владелец участка зашел и записал в эту временную переменную "я в игре". Друг зашел в гости, VKapi прочитала переменную и выяснила что владелец в игре.
Возникает вопрос, когда удаляются эти временные переменные, кто-нибудь их использовал, дайте совет?
, а точнее временные переменные 1536-4095. Как там написано "могут быть стерты по истечении часа".
Предположим действовать по такой системе: владелец участка зашел и записал в эту временную переменную "я в игре". Друг зашел в гости, VKapi прочитала переменную и выяснила что владелец в игре.
Возникает вопрос, когда удаляются эти временные переменные, кто-нибудь их использовал, дайте совет?
Re: В игре ли пользователь или нет
Не знаю, можно ли, просто может поможет.
Когда запускаешь приложение в статус идет его название, пока не снимешь ручками галку. Возможно это можно как-то использовать.
Когда запускаешь приложение в статус идет его название, пока не снимешь ручками галку. Возможно это можно как-то использовать.
Re: В игре ли пользователь или нет
Понимаю,что форум не работал, но неужели никто не использовал putVariable во временные переменные?
Попробовал у себя, почему то они вообще не удаляются, день прошел
Понимаю, что можно создать аналог у себя на сервере, но не хочется изобретать колесо.
Попробовал у себя, почему то они вообще не удаляются, день прошел
Понимаю, что можно создать аналог у себя на сервере, но не хочется изобретать колесо.
Re: В игре ли пользователь или нет
Когда пользователь зашел в приложение - вы отследите. А вот когда вышел - это большой вопрос. И останется в вашей переменной значение online = true )
Re: В игре ли пользователь или нет
Это я прекрасно понимаю. На странице (по приведенной выше ссылке) указано чёрным по белому: "временные переменные могут быть стерты по истечении часа". Что значит "могут быть" - не объяснено. По какому принципу удаляются, тоже. Но суть не в этом, мне важен факт того, что они именно удалятся. Пока что этот факт я не наблюдаю, хотя putVariable и другие "устаревшие методы" работают...
Re: В игре ли пользователь или нет
p2p будет работать не на 100%, но в любом случае намного точнее, чем отфонарное по времени удаление сессии. И если уж пользовать сессионные переменные, то хранить их на своем сервере.
Re: В игре ли пользователь или нет
sanych_dv
Посмотрел я p2p, немного не понял каким боком его применять. Если набросаете план, буду очень благодарен.
Прихожу к сессионным переменным у себя на сервере, приделываю сейчас за неимением лучшего. Придется увеличить нагрузку на сервер... или найти другое решение.
Посмотрел я p2p, немного не понял каким боком его применять. Если набросаете план, буду очень благодарен.
Прихожу к сессионным переменным у себя на сервере, приделываю сейчас за неимением лучшего. Придется увеличить нагрузку на сервер... или найти другое решение.