2009-10-05 3 views
2

Каков наилучший/быстрый/эффективный способ связи между Flash и MySql? У меня многопользовательская онлайн-игра с использованием Flash-php-MySql, похоже, когда я достигаю 5 или более игроков, игра лагги. И я считаю, что проблема связана с запросом и ответом от MySql через php. Я использую метод URLRequest, Post в файле AS3.Эффективный способ общения между Flash и MySql?

Я пробовал Google, я нашел эту Amfphp и Zend Framework Adobe AMF. Я не уверен, помогает ли мне подключение к базе данных? Кто-нибудь пробовал их раньше? (Пожалуйста, укажите свой комментарий по любому из них в ответе)

Можете ли вы, ребята, рекомендовать, какие более подходящие способы общения между Flash-MySql в терминах времени отклика и безопасности?

ответ

1

Вы пытаетесь обрабатывать частые отрывки <> данные клиента с односторонними почтовыми звонками? В этом случае вам придется постоянно проверять сервер и открывать и закрывать соединение все время.

Если вы хотите использовать PHP, я бы рекомендовал создать сервер сокетов, чтобы у вас было только одно открытое соединение. Вам нужно будет установить соединение, используя класс Socket в ActionScript. Ваш сервер сокетов PHP может затем быстро извлекать данные из базы данных SQL, поскольку они оба расположены на одной машине и напрямую отправляют эти данные на флэш-клиент, используя соединение с открытым сокетом.

This should get you started, хотя я рекомендую использовать класс Socket, а не класс XMLSocket, поскольку он обеспечивает большую настройку.

3

ZendAMF и AMFPHP (оба того же парня, ZendAMF новее, но немного сложнее настроить) оба великолепны. В основном вам нужно потратить время на создание и переднего конца, и на задний план, но как только вы переходите на вызов метода PHP, так же легко, как MyRemoteConnection.myMethod (myVars) в вашем AS3-файле.

Если вы работаете в Flex, это становится еще проще, вы можете использовать класс RemoteConnection и легко динамически сопоставлять локальные объекты значений AS3 с удаленными объектами значений PHP.

Независимо от того, используете ли вы ZendAMF или AMFPHP, это будет намного быстрее, чем любые материалы XML, потому что они используют двоичную передачу данных. Хорошим введением в AMFPHP является учебник Ли Бримелоу - вот part one, вот part two. Надеюсь, это поможет!

EDIT: Кроме того, я должен указать, что Adobe официально поддерживает ZendAMF для этого материала. Если вам удобнее настраивать фреймворк zend PHP на вашем сервере, тогда перейдите к нему, но если вам нужна очень простая настройка на стороне сервера, то используйте AMFPHP, это также фантастика и, как я уже сказал, он был построен одним и тем же парнем.