Accessibilité

Article DevNet

L'architecture du client

Les périphériques Pocket PC actuels utilisent Macromedia Flash 5, qui supporte la fonction XMLSocket pour la connectivité réseau. L’animation Macromedia Flash de cet exemple établit une connexion avec Fortress via ActionScript, à l’aide du kit FFDK (Fortress Flash Development Kit).

Macromedia Flash utilise le kit FFDK pour établir la connexion au serveur Fortress et à une salle de discussion, puis pour envoyer les messages à d’autres animations Flash de la même salle de discussion. Le kit FFDK comprend un jeu d’objets ActionScript destinés à la communication entre Macromedia Flash et Fortress et masquant la complexité des opérations de gestion et de transmission des messages. La Figure 4 présente les objets inclus dans le kit de développement.

Figure 4: Objets FFDK
Figure 4: diagramme des objets ActionScript du kit FFDK

Le kit FFDK est fourni avec le code source pour faciliter l’apprentissage et vous permettre de développer le code existant. Vous le trouverez dans le dossier ffdk/src de l’archive, ce code étant appelé par les fichiers ActionScript de l’exemple qui se trouvent eux-mêmes dans le dossier as. SETTINGS.as est utilisé pour charger et analyser le fichier settings.xml mentionné à la page précédente, GLYPHS.as étant utilisé pour gérer certains éléments d’interface.

La fonction de discussion principale est fournie par CHAT.as, qui comprend le kit FFDK et les autres fichiers:

// Load the Fortress Flash Development Kit
#include "../ffdk/src/FFDK.Infrastructure.as"

// Load Connection Settings
#include "../as/SETTINGS.as"

// Initialize UI items
#include "../as/GLYPHS.as"

La première image du calque Actions du scénario Scene 1 de l’animation Macromedia Flash appelle la fonction CHAT_createSession pour créer un objet FFDK.Session et développe son prototype pour ajouter un comportement spécifique à l’exemple. Les gestionnaires onEvent indiqués ci-dessous, et particulièrement importants, sont ajoutés au prototype:

onOpen
Appelé à la réussite de la connexion au serveur

onOpenFailed
Appelé en cas d’échec de la connexion au serveur

onClose
Appelé à la fermeture de la connexion au serveur

onLogin
Appelé à la réussite de l’ouverture de session utilisateur

onLoginFailed
Appelé en cas d’échec de l’ouverture de session utilisateur

onLogout
Appelé lorsque l’utilisateur met fin à la session

Lorsque l’utilisateur clique sur le bouton Connect de l’écran de connexion, la fonction Chat_login est appelée à l’aide de l’objet FFDK.Session pour ouvrir une connexion à Fortress, authentifier l’utilisateur et récupèrer l’objet FFDK.Room, qui gère la saisie et l’interaction dans la salle sur le serveur Fortress.

Lorsque l’utilisateur souhaite quitter la salle, la fonction Chat_logout est appelée pour quitter la salle sur le serveur, mettre fin à la session utilisateur sur le serveur, puis fermer la connexion avec le serveur.

La première image du calque Actions du scénario Scene 1 appelle également la fonction CHAT_setupRoom, qui développe le prototype de base de l’objet FFDK.Room pour ajouter un comportement spécifique à l’exemple. Ces gestionnaires sont appelés par le kit FFDK lorsque les événements sont reçus de la salle de discussion. Certains de ces gestionnaires sont :

onEnter
Appelé lorsque l’utilisateur entre dans la salle

onEnterFailed
Appelé lorsque l’entrée dans la salle a échoué

onExit
Appelé lorsque l’utilisateur quitte la salle

onParticipantEntered
Annonce l’arrivée d’un utilisateur à tous les participants

onParticipantExited
Annonce le départ d’un utilisateur à tous les participants

onChat
Envoie les messages d’un utilisateur à tous les participants

Chaque objet FFDK.Room conserve un objet FFDK.ParticipantList permettant de suivre les participants dans la salle modelée par les objets FFDK.Participant. Chaque objet FFDK.Room conserve également un jeu d’objets FFDK.LinkCategory contenant des objets FFDK.RoomLink gérant les chemins de navigation vers d’autres salles du site.

Voyons maintenant comment l’architecture du serveur fonctionne.