|
Page 1 sur 4 Introduction Le XMLSocket est une classe permettant de créer un système d'échange de données "temps réel" entre clients et serveur, sa spécificité est que les chaînes échangées doivent se terminer par un octet zéro mais vous n'avez à vous souciez de ceci que lorsque vous développez un serveur. Le serveur est le relais de transmission des données entre les clients, il traite et renvoi les données aux différents clients y étant connectés. Le serveur est donc indispensable, ce tutorial aboutissant à la réalisation d'un chat nous en aurons donc besoin d'un, celui qui a été choisi se nomme Oregano. XMLSocket nous permet de réaliser des applications multi utilisateurs du simple chat au jeu multijoueur, nous allons donc apprendre au cours de ce tutorial les méthodes de la classe XMLSocket, la configuration d'Oregano serveur et son utilisation par la réalisation d'un chat.
La classe XMLSocket Le XMLSocket est très simple d'utilisation et ne possède que trois méthodes simples et quatre gestionnaires d'événement, examinons les: Constructeur: new XMLSocket() Crée une occurence de la classe XMLSocket monXMLSocket = new XMLSocket(); Méthodes: connect("adresse", port); Comme son nom l'indique, la méthode nous connecte au serveur spécifié par son adresse et son port. La méthode renvoi true si la connexion a réussi et false si elle a échouée, puis invoque onConnect que nous verrons par la suite. send(données); Cette méthode vous l'aurez compris est utilisée à chaque fois que l'on a besoin d'envoyer un message au serveur. close(); Ferme tout simplement la connexion entre le client et le serveur. Gestionnaire d'événement: onConnect Comme vu précédemment onConnect est invoqué par la méthode connect, onConnect nous permet, par la vérification du paramètre success(voir exemple ci dessous), en cas de succès de par exemple envoyer au serveur les infos entrées par l'utilisateur tel son pseudo, et en cas d'échec d'automatiquement effectuer un nouvel essai de connexion etc. monXMLSocket.onConnect = function(success){ if(success){ trace("connexion réussi"); }else{ trace("echec de la connexion"); } } Note: le premier paramètre: success (que vous pouvez nommer comme bon vous semble) est automatiquement assigné à la méthode onConnect lors de son invocation. onClose Cette méthode est appelée uniquement lorsque la connexion est fermée non pas par le client mais par le serveur, elle permet donc par exemple d'informer l'utilisateur de sa déconnexion. monXMLSocket.onClose = function(){ trace("vous avez été déconnecté du serveur"); } onData onData, contrairement aux autres gestionnaires d'événement de XMLSocket, effectue une action par défaut : elle invoque onXML en lui passant pour paramètre un objet XML créer à partir des données reçu du serveur. Si vous faites votre propre méthode onData, pour par exemple traiter les données brut reçu, onXML ne sera plus appelé il vous faudra donc, si besoin est, recréer cet appel ainsi que la construction de l'objet XML à passer en paramètre, exemple: monXMLSocket.onData = function(pData){ this.onXML(new XML(pData)); } A noter que généralement vous utiliserez onData pour traiter des données au format brut, l'appel de la méthode onXML n'aura donc peu d'intérêt. Si vous souhaitez traiter de l'XML utilisez onXML seul. onXML Comme vu précédemment onXML est invoqué par onData et a pour premier paramètre un objet XML, c'est ici en général que l'on effectuera le traitement de cet objet, à l'aide des méthodes de la classes XML, et que l'on va gérer par exemple l'affichage d'un message ou tout autres fonctions à effectuées selon les infos reçues. monXMLSocket.onXML = function(pXml){ trace("le nom du premier noeud se nomme: "+pXml.firstChild.nodeName); } Voila tout ce qu'il faut savoir sur le XMLSocket coté client, cet objet est l'un des plus simple à utiliser. La difficulté réelle est la conception de l'application, par exemple la gestion de connexion/déconnexion, l'affichage des connectés, et pour cela le serveur oregano va grandement nous aider.
|