| Package | flash.net |
| Classe | public class XMLSocket |
| Héritage | XMLSocket EventDispatcher Object |
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
La méthode XMLSocket.connect() ne peut se connecter qu'aux numéros de port TCP supérieurs ou égals à 1024. En conséquence de cette restriction, les serveurs démon qui communiquent avec l'objet XMLSocket doivent également être affectés à des numéros de port supérieurs ou égaux à 1024. Les ports dont le numéro est inférieur à 1024 sont souvent utilisés par des services du système, tels que FTP, Telnet et HTTP, de sorte que les objets XMLSocket ne puissent pas y accéder pour des raisons de sécurité. La restriction du numéro de port limite les possibilités d'accès à ces ressources et leur mauvaise utilisation.
La configuration d'un serveur en vue de la communication avec un objet XMLSocket peut être difficile à réaliser. Si votre application ne requiert pas d'interactivité en temps réel, utilisez la classe URLLoader, plutôt que la classe XMLSocket. Pour utiliser les méthodes de la classe XMLSocket, vous devez d'abord utiliser le constructeur, new XMLSocket, pour créer un objet XMLSocket.
Lorsque vous employez cette classe, tenez compte du modèle de sécurité Flash Player :
Pour plus d'informations, consultez les références suivantes :
Voir aussi
| Propriété | Défini par | ||
|---|---|---|---|
| connected : Boolean
[lecture-seule]
Indique si l’objet XMLSocket est actuellement connecté.
| XMLSocket | ||
![]() | constructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
| Object | |
![]() | prototype : Object
[static]
Référence à l’objet prototype d’un objet de classe ou fonction.
| Object | |
| Méthode | Défini par | ||
|---|---|---|---|
|
Crée un objet XMLSocket.
| XMLSocket | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
| EventDispatcher | |
|
Ferme la connexion spécifiée par l'objet XMLSocket.
| XMLSocket | ||
|
Etablit une connexion à l’hôte Internet spécifié en utilisant le port TCP indiqué.
| XMLSocket | ||
![]() |
Distribue un événement dans le flux d’événements.
| EventDispatcher | |
![]() |
Vérifie si des écouteurs sont enregistrés auprès de l'objet EventDispatcher pour un type spécifique d’événement.
| EventDispatcher | |
![]() |
Indique si la propriété spécifiée d'un objet est définie.
| Object | |
![]() |
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
| Object | |
![]() |
Indique si la propriété spécifiée existe et est énumérable.
| Object | |
![]() |
Supprime un écouteur de l’objet EventDispatcher.
| EventDispatcher | |
|
Convertit l'objet ou les données XML spécifiés dans le paramètre object en une chaîne et la transmet au serveur, suivie d'un octet nul (0).
| XMLSocket | ||
![]() |
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
| Object | |
![]() |
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
| Object | |
![]() |
Renvoie la valeur primitive de l'objet spécifié.
| Object | |
![]() |
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
| EventDispatcher | |
| Evénement | Synthèse | Défini par | ||
|---|---|---|---|---|
![]() | Distribué lorsque Flash Player a le focus du système d’exploitation et devient actif. | EventDispatcher | ||
| Distribué lorsque le serveur ferme la connexion socket. | XMLSocket | |||
| Distribué après un appel de la méthode XMLSocket.connect() qui a abouti. | XMLSocket | |||
| Distribué après l'envoi ou la réception de données brutes. | XMLSocket | |||
![]() | Distribué lorsque Flash Player perd le focus du système d’exploitation et devient inactif. | EventDispatcher | ||
| Distribué lorsqu'il se produit une erreur d'entrée/sortie entraînant l'échec d'une opération d'envoi ou de réception. | XMLSocket | |||
| Distribué si un appel de la méthode Socket.connect() tente une connexion à un serveur situé hors du sandbox de sécurité de l'appelant ou à un port inférieur à 1024. | XMLSocket | |||
| connected | propriété |
connected:Boolean [lecture-seule]
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Indique si l’objet XMLSocket est actuellement connecté. Vous pouvez également vérifier si la connexion a abouti en vous enregistrant pour les événements connect et ioError.
public function get connected():Boolean
Voir aussi
| XMLSocket | () | Constructeur |
public function XMLSocket(host:String = null, port:int = 0)
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Crée un objet XMLSocket. L'objet XMLSocket n'est initialement pas connecté à un serveur. Vous devez appeler la méthode XMLSocket.connect() pour établir la connexion.
host:String (default = null) — Nom de domaine DNS complet ou adresse IP au format aaa.bbb.ccc.ddd. Vous pouvez également spécifier null pour vous connecter au serveur hôte qui héberge le fichier SWF. Si le fichier SWF effectuant cet appel s'exécute dans un navigateur Web, host doit appartenir au même domaine que le fichier SWF.
|
|
port:int (default = 0) — Numéro du port TCP de l'hôte utilisé pour établir une connexion. Ce numéro doit être supérieur ou égal à 1024, sauf si un fichier de régulation est utilisé.
|
Voir aussi
| close | () | méthode |
public function close():void
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Ferme la connexion spécifiée par l'objet XMLSocket. L’événement close se produit uniquement lorsque le serveur ferme la connexion. Il n'est pas distribué lorsque vous appelez la méthode close().
Voir aussi
| connect | () | méthode |
public function connect(host:String, port:int):void
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Etablit une connexion à l’hôte Internet spécifié en utilisant le port TCP indiqué. A moins que vous n’utilisiez un fichier de régulation, vous ne pouvez, par défaut, vous connecter qu’à un port dont le numéro est supérieur ou égal à 1024.
Si vous spécifiez null pour le paramètre host, l'hôte contacté est celui où réside le fichier SWF appelant la méthode XMLSocket.connect(). Par exemple, si le fichier SWF a été téléchargé à partir du site www.adobe.com, le fait de spécifier null pour le paramètre host équivaut à entrer l'adresse IP de www.adobe.com.
Pour les fichiers SWF lus par une version antérieure à Flash Player 7, le paramètre host doit correspondre au superdomaine du fichier SWF envoyant cet appel. Par exemple, un fichier SWF à l'adresse www.adobe.com peut envoyer ou recevoir des variables provenant d'un fichier SWF à l'adresse store.adobe.com, car les deux fichiers résident dans le même superdomaine adobe.com.
Dans tous les fichiers SWF, quelle que soit leur version, exécutés dans Flash Player 7 ou une version ultérieure, le paramètre host doit se trouver exactement dans le même domaine. Par exemple, un fichier SWF situé à l'adresse www.adobe.com et publié pour Flash Player 5, mais s'exécutant dans Flash Player 7 ou une version ultérieure, ne peut envoyer et recevoir des variables que des fichiers SWF également situés dans www.adobe.com. Si vous souhaitez envoyer ou recevoir des variables d'un autre domaine, placez un fichier de régulation interdomaines sur le serveur qui héberge le fichier SWF auquel vous accédez.
Vous pouvez éviter qu'un fichier SWF n'utilise cette méthode en définissant le paramètre allowNetworking des balises object et embed dans la page HTML qui héberge le contenu SWF.
Pour plus d'informations, consultez les références suivantes :
Paramètres
host:String — Nom de domaine DNS complet ou adresse IP au format aaa.bbb.ccc.ddd. Vous pouvez également spécifier null pour vous connecter au serveur hôte qui héberge le fichier SWF. Si le fichier SWF effectuant cet appel s'exécute dans un navigateur Web, host doit appartenir au même domaine que le fichier SWF.
|
|
port:int — Numéro du port TCP de l'hôte utilisé pour établir une connexion. Ce numéro doit être supérieur ou égal à 1024, sauf si un fichier de régulation est utilisé.
|
securityError: — Tentative de connexion à un serveur situé hors de la zone de sécurité sandbox de l'appelant, et/ou à un port inférieur à 1024. Vous pouvez contourner ce problème en utilisant un fichier de régulation XMLSocket sur le serveur. |
|
data: — Distribué à la réception de données brutes. |
|
connect: — Distribué lorsqu’une connexion réseau est établie. |
SecurityError — Les fichiers SWF locaux non approuvés ne peuvent pas communiquer avec Internet. Pour contourner ce problème, reclassifiez le fichier SWF en tant que fichier local avec accès au réseau ou en tant que fichier approuvé.
|
|
SecurityError — Il est impossible de spécifier un port de socket supérieur à 65535.
|
Voir aussi
| send | () | méthode |
public function send(object:*):void
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Convertit l'objet ou les données XML spécifiés dans le paramètre object en une chaîne et la transmet au serveur, suivie d'un octet nul (0). Si object est un objet XML, la chaîne est la représentation textuelle XML de l'objet XML. L'opération d'envoi est asynchrone ; elle est immédiatement renvoyée, mais les données peuvent être transmises plus tard. La méthode XMLSocket.send() ne renvoie pas de valeur indiquant si les données ont bien été transmises.
Si vous ne connectez pas l'objet XMLSocket au serveur à l’aide de XMLSocket.connect(), l’opération XMLSocket.send() échoue.
Paramètres
object:* — Objet XML ou toute autre donnée à transmettre au serveur.
|
IOError — L'objet XMLSocket n'est pas connecté au serveur.
|
Voir aussi
| close | Evénement |
flash.events.Event
flash.events.Event.CLOSE
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Distribué lorsque le serveur ferme la connexion socket. L’événement close se produit uniquement lorsque le serveur ferme la connexion. Il n'est pas distribué lorsque vous appelez la méthode XMLSocket.close().
type d'un objet événement close.
Les propriétés de cet événement sont les suivantes :
| Propriété | Valeur |
|---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet dont la connexion a été fermée. |
| connect | Evénement |
flash.events.Event
flash.events.Event.CONNECT
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Distribué après un appel de la méthode XMLSocket.connect() qui a abouti.
type d'un objet événement connect.
Les propriétés de cet événement sont les suivantes :
| Propriété | Valeur |
|---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet Socket ou XMLSocket qui a établi une connexion réseau. |
| data | Evénement |
flash.events.DataEvent
flash.events.DataEvent.DATA
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Distribué après l’envoi ou la réception de données brutes.
Définit la valeur de la propriététype d'un objet événement data.
Les propriétés de cet événement sont les suivantes :
| Propriété | Valeur |
|---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
data | Données brutes chargées dans Flash Player. |
target | Objet XMLSocket recevant les données. |
| ioError | Evénement |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Distribué lorsqu'il se produit une erreur d'entrée/sortie entraînant l’échec d’une opération d’envoi ou de réception.
Définit la valeur de la propriététype d’un objet événement ioError.
Les propriétés de cet événement sont les suivantes :
| Propriété | Valeur |
|---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet réseau sur lequel l’erreur d’entrée/sortie s’est produite. |
text | Texte à afficher en tant que message d’erreur. |
| securityError | Evénement |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Distribué si un appel de la méthode XMLSocket.connect() tente une connexion à un serveur situé hors du sandbox de sécurité de l'appelant ou à un port inférieur à 1024.
SecurityErrorEvent.SECURITY_ERROR définit la valeur de la propriété type d’un objet événement securityError.
Les propriétés de cet événement sont les suivantes :
| Propriété | Valeur |
|---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet réseau signalant l’erreur de sécurité |
text | Texte à afficher en tant que message d’erreur. |
Voir aussi
socket et transmet le socket à la méthode ConfigureListeners() (décrite ci-dessous), puis appelle la méthode connect() de XMLSocket avec le nom d'hôte « localhost » et le numéro de port 8080.configureListeners() est ensuite appelée, ce qui ajoute des écouteurs à chacun des événements XMLSocket pris en charge :
closeHandler() : écoute l'événement close, qui est distribué après la fermeture de la connexion réseau.connectHandler() : écoute l'événement connect, qui est distribué à l'ouverture de la connexion réseau.dataHandler() : écoute l'événement data, qui est distribué chaque fois que le XMLSocket reçoit de nouvelles données.progressHandler() : écoute l'événement progress, qui est distribué à chaque appel de la méthode send() et pendant l'envoi.securityErrorHandler() : écoute l'événement securityError, qui est distribué en cas de tentative d'accès au XMLSocket avec un paramètre de sécurité de lecture locale incorrect ou avec un numéro de port inférieur à 1024.ioErrorHandler() : écoute l'événement ioError, qui se produit uniquement en cas d'échec d'une opération d'envoi ou de réception de données.Remarques :
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.XMLSocket;
public class XMLSocketExample extends Sprite {
private var hostName:String = "localhost";
private var port:uint = 8080;
private var socket:XMLSocket;
public function XMLSocketExample() {
socket = new XMLSocket();
configureListeners(socket);
socket.connect(hostName, port);
}
public function send(data:Object):void {
socket.send(data);
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.CLOSE, closeHandler);
dispatcher.addEventListener(Event.CONNECT, connectHandler);
dispatcher.addEventListener(DataEvent.DATA, dataHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
}
private function closeHandler(event:Event):void {
trace("closeHandler: " + event);
}
private function connectHandler(event:Event):void {
trace("connectHandler: " + event);
}
private function dataHandler(event:DataEvent):void {
trace("dataHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
}
}
M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire
Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/flash/net/XMLSocket.html