сервер под флеш игру
|
|
HidDen | Дата: Понедельник, 17 Июня 2013, 15:25 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Пробую изучение АS3... пишу небольшую игрушку и вот стал интересный вопрос. В соц сети игра выполняет конект к серверу для загрузки личных данных. Нашел темы про сокеты и передачу данных. Вопрос, есть ли готовые сервера типа Денвера, только под флешь? Если захочу где то хранить ресурсы типа уровня, набора оружия или содержимого рюкзока... и тд... как это сделать если без сервера.
|
|
| |
Vinchensoo | Дата: Понедельник, 17 Июня 2013, 15:57 | Сообщение # 2 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Сложную логику без сервера не реализуешь. Для хранения локальных объектов есть Local Shared Object.
|
|
| |
HidDen | Дата: Понедельник, 17 Июня 2013, 15:59 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Local Shared Object. - я так понял это хранение на компьютере пользователя... а что будет если пользователь сменит винду, и тогда ему начинать с нуля?
|
|
| |
Vinchensoo | Дата: Понедельник, 17 Июня 2013, 16:08 | Сообщение # 4 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Цитата (HidDen) Local Shared Object. - я так понял это хранение на компьютере пользователя... а что будет если пользователь сменит винду, и тогда ему начинать с нуля? Если речь идет о социальных играх- там везде есть централизованный сервер, и причина далеко не в потенциальной опасности смены винды.
|
|
| |
HidDen | Дата: Понедельник, 17 Июня 2013, 16:11 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Цитата (Vinchensoo) Цитата (HidDen) Local Shared Object. - я так понял это хранение на компьютере пользователя... а что будет если пользователь сменит винду, и тогда ему начинать с нуля?
Если речь идет о социальных играх- там везде есть централизованный сервер, и причина далеко не в потенциальной опасности смены винды.
вот это я и ищу, есть бесплатные сервера? не обязательно на 1000000 посетителей, хотя бы в целях изучения . и что за причины ?
|
|
| |
Vinchensoo | Дата: Понедельник, 17 Июня 2013, 16:36 | Сообщение # 6 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Цитата (HidDen) вот это я и ищу, есть бесплатные сервера? не обязательно на 1000000 посетителей, хотя бы в целях изучения . и что за причины ? Мне сдается, вы не совсем понимаете, что такой денвер.
Сервер придется писать самому на одном из языков программирования.
Причины- безопасность, актуальность данных, та же целостность.
|
|
| |
HidDen | Дата: Понедельник, 17 Июня 2013, 16:40 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| с денвером знаком, делал сайты. а вот теперь АS3 изучаю, и хотелось разобраться как делаются игры не просто разовые, а с сохранением, так что бы играть можно было начать на компе, а продолжить скажем на работе или телефоне... а не начинать с начала каждый раз. думал может можно это тестировать на денвере с PHP мостом, что бы потом или выложить в интернет или просто багаж знаний не просто в теории.
|
|
| |
Vinchensoo | Дата: Понедельник, 17 Июня 2013, 19:04 | Сообщение # 8 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Цитата (HidDen) с денвером знаком, делал сайты. а вот теперь АS3 изучаю, и хотелось разобраться как делаются игры не просто разовые, а с сохранением, так что бы играть можно было начать на компе, а продолжить скажем на работе или телефоне... а не начинать с начала каждый раз. Как вы делали сайты без знания Php? Готовые движки настраивали? Тогда ответ прост- сайт содержится в вашем движке, а не в денвере. Денвер- просто набор софта, включающий в себя интерпретатор пхп, мускуль и т.д. Цитата (HidDen) думал может можно это тестировать на денвере с PHP мостом, что бы потом или выложить в интернет или просто багаж знаний не просто в теории. Именно так это и делается. На сервере работает php, оно жует информацию и отправляет ее на клиент(flash).
Один из самых простых и очевидных способов. Тем более, вы хотите, чтобы игра не просто сохранялась, а еще и работала на разных девайсах.
|
|
| |
HidDen | Дата: Вторник, 18 Июня 2013, 10:39 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| да, я брал готовые движки, чаще всего джумлу. но и знаю азы html и php. от денвера мне нужна была связка из апаче+php + базы.
вот искал по гуглу сервер под флешь, что бы хранить данные не на компе пользователя а в одной базе. И может не правильно задавал вопрос гуглу, но дальше сокет серверов не прошел... А предлагаемые готовые сервера слишком дорогие. Вот и возник вопрос, если взять ту же сборку денвера в качестве виртуального сервера, на php сделать мост между базой данных и флеш игрой ( я где то видел обсуждение о передачи данных между базой и флешем, хотя советуют java использовать). Такой вариант возможен?
|
|
| |
Vinchensoo | Дата: Вторник, 18 Июня 2013, 10:45 | Сообщение # 10 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Цитата (HidDen) вот искал по гуглу сервер под флешь, что бы хранить данные не на компе пользователя а в одной базе. И может не правильно задавал вопрос гуглу, но дальше сокет серверов не прошел... А предлагаемые готовые сервера слишком дорогие. Вот и возник вопрос, если взять ту же сборку денвера в качестве виртуального сервера, на php сделать мост между базой данных и флеш игрой ( я где то видел обсуждение о передачи данных между базой и флешем, хотя советуют java использовать). Такой вариант возможен? Разумеется. Php можно использовать. Мой класс для post-запросов с flash на php: Код /* * Описание интерфейса класса и работы с ним: * 1. Создаем объект класса * 2. В классе main создаем функцию обработчик, в которой будут обрабатываться все ответы от сервера, с помощью switch * 3. Для создания запроса: шлем запрос с помощью функции Get, у нее 2 параметра: * 1. Буффер, в котором храниться информация * 2. Имя php скрипта на сервере * 4. Собственно, интерфейс описан. При завершении игры можно вызвать деструктор, но большого смысла нет. * * */
package util { import flash.events.*; import flash.net.*; public class PostRequest {
private var loader:URLLoader = new URLLoader();; public var resultFunction:Function;//Функция, вызываемая при завершении запроса
public function PostRequest(processFunction: Function) { resultFunction = processFunction; } private function onComplete(e:Event):void //Вызывается при получении результата от сервера { var buffer:URLVariables = new URLVariables(); buffer.decode(loader.data); resultFunction(buffer); close(); }
//Выполнение запроса на сервер непосредственно public function executeRequest(buffer:URLVariables, path:String):void { loader.addEventListener(Event.COMPLETE, onComplete);//Ставим слушатель события прихода ответа loader.addEventListener( IOErrorEvent.IO_ERROR, errorHandler); var request:URLRequest=new URLRequest('http://localhost:8084/Server/'+path); // адрес скрипта на сервере request.method=URLRequestMethod.POST; request.data = buffer;
loader.load(request);
} public function close():void { loader.removeEventListener(Event.COMPLETE, onComplete);//Удаляем слушатель события loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); } public function errorHandler(e:Event): void { trace("Technical error: "); } }
}
Использование этого кода эквивалентно тому, что пользователь зайдет на заданную страницу вашего сайта, т.е. обычный запрос к серверу. На сервере ответ должен иметь вид: var1=value1&var2=value2 Т.е. обычная структура строки для GET-запроса.
|
|
| |
HidDen | Дата: Среда, 19 Июня 2013, 11:32 | Сообщение # 11 |
был не раз
Сейчас нет на сайте
| Vinchensoo спасибо большое за пояснение, буду двигаться дальше, и развиваться.... Добавлено (19.06.2013, 11:32) --------------------------------------------- Наткнулся на память Вконакте, на сколько хватит её? скажем если хранить id, уровень, ну и ещё скажем 4-6 чисел (допустим 0 или 1 ). ?
|
|
| |
cougraAcc | Дата: Воскресенье, 30 Июня 2013, 22:01 | Сообщение # 12 |
Яркая личность GD
Сейчас нет на сайте
| Цитата (HidDen) Наткнулся на память Вконакте, на сколько хватит её? скажем если хранить id, уровень, ну и ещё скажем 4-6 чисел (допустим 0 или 1 ). ? http://vk.com/page-1_2369990 Цитата Каждому экземпляру приложения доступно до 4096 переменных (0-4095), в каждой из которых можно хранить строку из не более чем 255 байтов. Для каждого приложения (идентифицируемого api_id) эти переменные уникальны. Переменные инициализируются пустой строкой.
|
|
| |
HidDen | Дата: Среда, 24 Июля 2013, 15:25 | Сообщение # 13 |
был не раз
Сейчас нет на сайте
| Цитата (cougraAcc) аждому экземпляру приложения доступно до 4096 переменных (0-4095), в каждой из которых можно хранить строку из не более чем 255 байтов. Для каждого приложения (идентифицируемого api_id) эти переменные уникальны. Переменные инициализируются пустой строкой.
мне бы достаточно хранить id да набор 1-0 в каждой ячейке
|
|
| |