Multijoueur réseau en Flash

8

Flash a parcouru un long chemin au cours de la dernière décennie, et c'est un secret bien gardé d'obtenir un jeu Flash pour se connecter à un serveur multi-clients pour le chat et / ou le mouvement d'avatar de base en temps réel.

Pourquoi l’industrie dans son ensemble n’a-t-elle pas encore fait de ce genre de chose une chose commune? Nous continuons à pousser sur le Web, mais je trouve qu'il est extrêmement difficile de rassembler du matériel d'apprentissage sur ce sujet.

Bien sûr, je peux trouver des didacticiels de socket de serveur multi-clients dans différentes langues (en utilisant des instructions et / ou des threads sélectionnés pour gérer plusieurs connexions de socket), mais en ce qui concerne les applications Flash à l'intérieur d'un navigateur? NAN!

Tout le monde peut-il partager ce qu'il sait? :] C'est un sujet que j'aimerais vraiment aborder mais je crains honnêtement de ne pas en savoir assez sur la façon de le faire.

shadowprotocol
la source
J'examinais cette chose il y a plusieurs années avant qu'Adobe ne soit sur la photo, et j'ai téléphoné à Macromedia directement après n'avoir rien trouvé en ligne. Ils m'ont dit que seules les communications XML étaient prises en charge et que les E / S de socket directes n'étaient tout simplement pas possibles et n'étaient pas dans les plans. Pour un MMO, la lecture / l'écriture d'octets spécifiques de données est importante du point de vue de l'optimisation des performances, et XML entraîne des charges ridicules pour ce genre de chose (il est inutile de regrouper / analyser 50+ octets pour envoyer / recevoir quelques octets de données à plusieurs reprises - que la puissance du processeur devrait aller au gameplay).
Randolf Richardson

Réponses:

2

La raison pour laquelle vous ne trouvez aucune information sur l'exécution d'un serveur de socket à partir de Flash dans le navigateur est parce que ce n'est pas possible. Vous ne pouvez vous connecter à un serveur de socket qu'à partir d'un film Flash exécuté dans le navigateur.

Pour exécuter un serveur de socket avec Flash, vous devez créer une application AIR 2.x qui s'exécute sur le bureau. Cet article sur Adobe AIR Developer Center devrait vous aider à démarrer.

NoobsArePeople2
la source
Je voulais dire exactement ce que vous avez dit - se connecter à un serveur de socket à partir de Flash, ne pas exécuter Flash AS en tant que serveur de socket (je n'ai même jamais dit cela pour commencer ..)
shadowprotocol
Vous avez mentionné "des didacticiels sur les sockets de serveur multi-clients ... la gestion de plusieurs connexions de socket". J'ai lu cela comme voulant exécuter un serveur de socket à l'intérieur de Flash Player. Quoi qu'il en soit, l'article que j'ai lié explique également comment se connecter à un serveur de socket dans Flash.
NoobsArePeople2
0

J'imagine que la raison pour laquelle vous n'entendez pas beaucoup parler de la connexion de Flash à un serveur multi-clients est peut-être parce que vous recherchez uniquement le côté Flash des choses et non l'élément côté serveur.

C'est moins un problème frontal / côté client, et plus une gestion côté serveur de l'état, des connexions (c'est-à-dire des joueurs), des mises à jour des données (-base), et quoi de plus.

J'ai vu une belle abstraction utilisée avec SmartFoxPro . Ils offrent le client de chat plug-and-play, le client de salle et l'API en jeu auxquels vous pouvez vous connecter en tant que développeur flash / actionscript.

Honnêtement, vous devriez jeter un œil au développement de jeux multijoueurs du point de vue du serveur (java - redwarf , ruby , python ( piston comme framework), même php en utilisant un framework comme codeigniter pour une application légère).

Jetez un œil à la recherche sous cet angle et j'espère que cela vous aidera!

Dominic Tancredi
la source