Aller au contenu
Wikipédia l'encyclopédie libre

XML socket

Un article de Wikipédia, l'encyclopédie libre.

XMLSocket est un protocole implémenté par le langage ActionScript qui permet à une animation Adobe Flash de communiquer au-dessus de TCP grâce à des Sockets. Il permet le transfert de données textuelles brutes (texte) ou hiérarchiques (XML, xHTML). Il est souvent utilisé dans des applications de chat et de jeux multijoueurs [Lesquelles ?] .

Le protocole est le suivant :

  • des messages XML sont envoyés en full duplex grâce à une connexion TCP/IP utilisant les sockets ;
  • chaque message XML est un document XML terminé par des bits de zéro ;
  • une quantité illimitée de messages XML peuvent être envoyés et reçus au sein d'une seule connexion.

Client Flash

[modifier | modifier le code ]

Flash a été la première technologie à proposer le protocole XMLSocket du côté client.

ActionScript 2.0

[modifier | modifier le code ]

Le code pour afficher un Hello world en ActionScript 2.0 est le suivant :

Le socket utilise le port 8463 sur la machine locale et le mode echo est actif.

varxmlSocket:XMLSocket=newXMLSocket();
xmlSocket.onConnect=function(){
xmlSocket.send(newXML("<message><text>Hello, World!</text></message>"));
};
xmlSocket.onXML=function(myXML){
trace(myXML.firstChild.childNodes[2].firstChild.nodeValue);
xmlSocket.close();
};
xmlSocket.connect("localhost",8463);

ActionScript 3.0

[modifier | modifier le code ]

Ci-dessous exemple d'une connexion xmlSocket en ActionScript 3.0 :

varxml_s=newXMLSocket();
xml_s.connect(ip,port);
xml_s.addEventListener(Event.CONNECT,xmlsocket);
xml_s.addEventListener(Event.CLOSE,xmlsocket);
xml_s.addEventListener(IOErrorEvent.IO_ERROR,xmlsocket);
functionxmlsocket(Event):void{
switch(Event.type){
case'ioError':
// Unable to Connect
break;
case'connect':
// Connected
break;
case'close':
// OnDisconnect
break;
}
}

Client Silverlight

[modifier | modifier le code ]

Silverlight supporte l'utilisation des sockets dans son espace de nom System.Net.Sockets. Le protocole est asynchrone et utilise le port 4502 à 4534. La communication peut avoir lieu entre un client et plusieurs serveurs (cross-domain socket) à condition qu'un fichier définisse les règles de sécurité sur le serveur primaire.

Silverlight 1.1 et 2.0

[modifier | modifier le code ]

Silverlight utilise un format basé sur du XML pour contrôler l’accès aux ressources par domaines interposés. En plus, Silverlight supporte aussi le format Adobe Flash régissant les accès inter-domaines. Silverlight 2 à partir de la bêta 1 ajoute aussi un support pour les communications réseaux, utilisant les sockets à travers IPv4 et IPv6. Silverlight 2.0 supporte aussi la programmation asynchrone, par l’utilisation des bibliothèques de « threading ». Cependant, les sockets Silverlight sont plus restrictives. Elles peuvent communiquer uniquement avec l’hôte qui a lancé l’application au départ, et les numéros de port sont restreints du numéro 4502 à 4532. Les prochaines versions pallieront ce problème. Les sockets Silverlight peuvent uniquement initier une connexion, elles ne peuvent être en attente.

Voir aussi

[modifier | modifier le code ]

Articles connexes

[modifier | modifier le code ]

Liens externes

[modifier | modifier le code ]

AltStyle によって変換されたページ (->オリジナル) /