Connexion à des sources externes > Echange de variables avec une source distante > Utilisation de l'objet XMLSocket

 

Utilisation de l'objet XMLSocket

ActionScript fournit un objet XMLSocket intégré qui vous permet d'ouvrir une connexion continue avec un serveur. Une connexion socket permet au serveur de publier l'information au client dès qu'elle est disponible. Sans connexion continue, le serveur devra attendre une requête HTTP. Cette connexion ouverte supprime les périodes d'attente et est souvent utilisée dans des applications en temps réel telles que les dialogues en ligne. Les données sont envoyées sur la connexion socket sous forme d'une chaîne et doivent être au format XML. Vous pouvez utiliser l'objet XML pour structurer les données.

Pour créer une connexion socket, vous devez créer une application côté serveur qui attendra la requête de connexion socket et enverra une réponse à l'animation Flash. Ce type d'applications côté serveur peut être écrit dans un langage tel que Java.

Vous pouvez utiliser les méthodes connect et send de l'objet XMLSocket ActionScript pour échanger du code XML avec un serveur sur une connexion socket. La méthode connect établit une connexion socket avec le port d'un serveur web. La méthode send transmet un objet XML au serveur spécifié dans la connexion socket.

Lorsque vous invoquez la méthode connect de l'objet XMLSocket, Flash Player ouvre une connexion TCP/IP avec le serveur et garde cette connexion ouverte jusqu'à ce qu'un des événements suivants se produise :

La méthode close de l'objet XMLSocket est appelée.

Il n'existe plus aucune référence à l'objet XMLSocket.

Flash Player est fermé.

La connexion est rompue (le modem est déconnecté, par exemple).

L'exemple suivant crée une connexion socket XML et envoie les données de l'objet XML monCodeXML. Pour comprendre le script, vous pourrez vous aider des commentaires (indiqués par les caractères //) :

// Créer un objet XMLSocket
sock = new XMLSocket();
// Appeler sa méthode de connexion pour établir une connexion au port 1024
// du serveur à l'URL
sock.connect("http://www.monServeur.fr", 1024);
// Définir une fonction à affecter à l'objet socket gérant
// la réponse du serveur. Si la connexion réussit, envoyer
// l'objet monCodeXML. Sinon, afficher un message d'erreur dans un
// champ de texte.
function onSockConnect(succès){
	if (succès){
		sock.send(monCodeXML);
	} else {
		msg="Une erreur de connexion a eu lieu avec "+serverName;
	}
}
// Affecter la fonction onSockConnect à la propriété onConnect
sock.onConnect = onSockConnect;

Pour plus d'informations, consultez XMLSocket (objet) dans le dictionnaire ActionScript.