Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Выбор серверной технологии (http://www.flasher.ru/forum/showthread.php?t=143437)

degressor 16.08.2010 16:12

Выбор серверной технологии
 
Может быть глупый вопрос, но вот уже несколько дней не могу решиться. Хочу написать игры карточные как дурак, покер на флеше. Есть опыт разработки более простых игр(морской бой) на php+mysql, но понимаю что server на jave через сокеты будет эффективней, наверное есть и другие варианты, но опыта там нет. Если писать на яве, то боюсь у большинства будущих клиентов ожидают php и mysql как серверные технологии? Есть у кого опыт, после какой нагрузки с pooling php с mySQL уже не вариант?
Ещё есть amfphp, но я как понял он только хорошь простотой обмена данными а сути постоянных запросов на сервер не меняет?

e_gamer 16.08.2010 16:26

Все зависит от приложения.
Если игра (в данном случае) пошаговая, т.е. спросили сервер - сервер ответил, и ждем, то AMFPHP.
Если же нужен non-stop interactive - то Java и сокет.
AMF удобней, и в ряде случаев быстрей, чем XML (не надо ничего парсить дополнительно, просто удаленно вызывается метод и приезжает готовый ответ) .

Я использую для пошаговых игр AMF.

Котяра 16.08.2010 16:32

В карточных играх нет реалтайма особого :) - php вполне пойдёт.

Himan 19.08.2010 19:28

А как быть в случае ошибок на стороне сервера. К примеру, по каким-то причинам не отработал запрос к базе данных. А я хотел бы описание этой ошибки передать клиенту. Как быть в таком случае? Если выложите пример кода, буду благодарен. Учиться-то всегда проще на примерах.

e_gamer 20.08.2010 06:11

Можно настроить на клиенте, что, если приехало сообщение об ошибке - показывать окно с этим сообщением.
Соответственно от сервера, в случае неверного запроса к базе, отдавать это самое сообщение об ошибке.

Himan 20.08.2010 11:12

Это мне понятно. Но я пока только учусь на Флексу, потому мне не понятно КАК это сделать. Если я передаю из пхп массив данных определённой конструкции и Флекс ожидает получить именно эту конструкцию, то как я могу изменить его "ожидания"? Если не сложно, приведи код, пожалуйста, или скажи где почитать.

e_gamer 20.08.2010 12:48

Если получилось научить Флекс принимать массив конкретной конструкции, то не вижу ничего сложного научить Флекс принимать массив, в котором первый элемент будет иметь значение Success или Fault (1 или 0, как больше нравится).
Что и будет флагом о том, выполнился ли запрос в базу или нет. Как вариант решения.
Примеры кода не научат самостоятельно продумывать алгоритм и взаимодействие клиента с сервером.
Раздел посвящен серверным технологиям. Вам PHP-код нужен?

Котяра 20.08.2010 13:00

Цитата:

Сообщение от e_gamer (Сообщение 930086)
Можно настроить на клиенте, что, если приехало сообщение об ошибке - показывать окно с этим сообщением.
Соответственно от сервера, в случае неверного запроса к базе, отдавать это самое сообщение об ошибке.

например: запрос от flash
Код AS3:

get_user_data.php?sid=3343534544r4r&user_id=1

ответ:
- ок
Код AS3:

<data status="ok" cmd="get_user_data">
<user id="1" money="1000000"/>
</data>

- еррор
Код AS3:

<data status="error" cmd="get_user_data">
<error id="1005" comment="Invalid user id"/>
</data>

парсим в зависимости от статуса
в amf проверяем тип ответа. если ErrorMessage- то обрабатываем ошибку, если UserDataMessage - то обрабатываем данные.
Способов много разных.

Himan 20.08.2010 13:06

Дело в том, что я пока не могу найти литературы или других источников поближе ознакомиться с кодом Флекса. Я пишу на С++ Билдере, а пхп и флекс пока для меня абсолютно новая "тема". Так что учусь на примерах, т.с. на кошечках.


Часовой пояс GMT +4, время: 21:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.