2009-10-05 6 views
2

Quelle est la meilleure façon de communiquer entre Flash et MySql? J'ai un jeu en ligne multi-joueurs utilisant Flash-php-MySql, il semble que lorsque j'atteins 5 joueurs ou plus, le jeu est décalé. Et je crois que ce problème est dû à la demande et à la réponse de MySQL via PHP. J'utilise URLRequest, méthode Post dans le fichier AS3.Un moyen efficace de communiquer entre Flash et MySQL?

J'ai essayé google, j'ai trouvé cet Amfphp et Zend Framework Adobe AMF. Je ne suis pas sûr si cela aide ma connexion à la base de données? Quelqu'un a déjà essayé ça? (Veuillez inclure votre commentaire à propos de n'importe lequel d'entre eux dans la réponse)

Pouvez-vous recommander les méthodes de communication les plus appropriées entre Flash - MySql en termes de temps de réponse et de sécurité?

Répondre

1

Etes-vous en train d'essayer de gérer les fréquentes données de serveur <> avec des appels postaux unidirectionnels? Dans ce cas, vous devrez constamment interroger le serveur et ouvrir et fermer la connexion tout le temps.

Si vous voulez utiliser PHP, je vous recommande de créer un serveur de socket afin que vous n'ayez qu'une seule connexion ouverte en permanence. Vous devez établir une connexion en utilisant la classe Socket dans actionscript. Votre serveur de socket PHP peut ensuite récupérer les données de la base de données SQL à grande vitesse car elles sont toutes deux situées sur la même machine et renvoyer directement ces données au client Flash à l'aide de la connexion socket ouverte.

This should get you started, bien que je recommande d'utiliser la classe Socket plutôt que la classe XMLSocket car elle offre plus de personnalisation.

3

ZendAMF et AMFPHP (tous deux par le même gars, ZendAMF est plus récent mais un peu plus complexe à mettre en place) sont tous les deux géniaux. Fondamentalement, vous devez passer du temps à configurer le frontal et le back-end, mais une fois que vous lancez l'appel d'une méthode PHP, c'est aussi simple que MyRemoteConnection.myMethod (myVars) dans votre fichier AS3. Si vous travaillez dans Flex, cela devient encore plus facile, vous pouvez utiliser la classe RemoteConnection et il est facile de mapper dynamiquement des objets de valeur AS3 locaux à des objets de valeur PHP distants. Que vous utilisiez ZendAMF ou AMFPHP, ce sera beaucoup plus rapide que n'importe quel type de fichier XML car il utilise un transfert de données binaire. Une bonne introduction à AMFPHP est le tutoriel de Lee Brimelow - voici part one, voici part two. J'espère que cela pourra aider!

EDIT: De plus, je tiens à souligner qu'Adobe approuve officiellement ZendAMF pour ce genre de choses. Si vous êtes à l'aise de mettre en place le framework PHP zend sur votre serveur, optez pour celui-ci, mais si vous voulez une configuration serveur très simple, utilisez AMFPHP, c'est fantastique et comme je l'ai dit, il a été construit par le même type.

Questions connexes