| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
La classe Socket permet au code d’établir des connexions socket, ainsi que de lire et d'écrire des données binaires brutes. Elle est similaire à XMLSocket, mais n’impose pas le format des données reçues ou transmises.
La classe Socket est utile si vous utilisez des serveurs faisant appel à des protocoles binaires.
Pour utiliser les méthodes de la classe Socket, utilisez tout d'abord le constructeur, new Socket, pour créer un objet Socket.
Les fichiers SWF du sandbox local avec système de fichiers peuvent ne pas utiliser de sockets.
Les fichiers de régulation de socket situés sur l'hôte cible spécifient les hôtes à partir desquels les fichiers SWF peuvent établir des connexions de socket et les ports sur lesquels ces connexions peuvent être établies. Les exigences de sécurité relatives aux fichiers de régulation de socket sont devenues plus rigoureuses avec les dernières versions de Flash Player. Dans toutes les versions de Flash Player, Adobe recommande d'utiliser un fichier de régulation de socket ; dans certains cas, un tel fichier est même obligatoire. Ainsi, si vous utilisez des objets XMLSocket, assurez-vous que l'hôte cible fournisse au besoin un fichier de régulation de socket.
Voici une liste résumant les exigences relatives aux fichiers de régulation de socket dans les différentes versions de Flash Player :
- Dans Flash Player 9.0.124.0 et les versions ultérieures, un fichier de régulation de socket est requis pour toutes les connexions Socket. Cela signifie qu'un fichier de régulation de socket doit obligatoirement se trouver sur l'hôte cible, quel que soit le port sur lequel s'établit la connexion, et est obligatoire même si vous vous connectez à un port situé sur l'hôte servant le fichier SWF.
- Dans Flash Player versions 9.0.115.0 et ultérieures, si vous souhaitez vous connecter à un numéro de port inférieur à 1024, ou à un hôte autre que celui qui sert le fichier SWF, un fichier de régulation de socket est obligatoire sur l'hôte cible.
- Dans Flash Player 9.0.115.0, même si le fichier de régulation de socket n'est pas obligatoire, l'utilisation du débogueur de Flash Player entraîne l'affichage d'un avertissement si l'hôte cible ne fournit pas de fichier de régulation de socket.
Néanmoins, dans Adobe AIR, le contenu du sandbox de sécurité application (contenu installé avec l'application AIR) n'est pas soumis à ces restrictions de sécurité.
Pour plus d'informations sur la sécurité, consultez les références suivantes :
-
Le chapitre relatif à la sécurité du manuel Programmation avec ActionScript 3.0 et les derniers commentaires disponibles dans LiveDocs
-
La rubrique du Centre des développeurs de Flash Player : Sécurité
Consulter les exemples
bytesAvailable:uint [lecture seule]
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Nombre d'octets de données disponibles en lecture dans la mémoire tampon d'entrée.
Votre code doit accéder à bytesAvailable pour garantir que les données disponibles sont suffisantes, avant leur lecture à l'aide d'une des méthodes read.
Implémentation public function get bytesAvailable():uintconnected:Boolean [lecture seule]
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Indique si l'objet Socket est actuellement connecté. Un appel de cette propriété renvoie la valeur true si le socket est connecté, false dans le cas contraire.
Implémentation public function get connected():Booleanendian:String [lecture-écriture]
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Indique l'ordre des octets des données ; les valeurs possibles sont des constantes de la classe flash.utils.Endian, Endian.BIG_ENDIAN ou Endian.LITTLE_ENDIAN.
La valeur par défaut est Endian.BIG_ENDIAN.
Implémentation public function get endian():String public function set endian(value:String):voidVoir aussi
objectEncoding:uint [lecture-écriture]
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Contrôle la version du format AMF utilisée lors de l'écriture ou de la lecture d'un objet.
Implémentation public function get objectEncoding():uint public function set objectEncoding(value:uint):voidVoir aussi
timeout:uint [lecture-écriture]
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Indique le délai d'attente d'une connexion, en millisecondes.
Si la connexion n'est pas établie pendant le délai spécifié, elle échoue. La valeur par défaut est de 20 000 (vingt secondes).
Implémentation public function get timeout():uint public function set timeout(value:uint):voidpublic function Socket(host:String = null, port:int = 0)| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Crée un nouvel objet Socket. En l'absence de paramètres, un socket initialement déconnecté est créé. Si des paramètres sont spécifiés, une tentative de connexion à l'hôte et au port indiqués est effectuée.
Remarque : il est fortement conseillé d'utiliser la forme du constructeur sans paramètre, d'ajouter ensuite des écouteurs d'événement éventuels, puis d'appeler la méthode connect avec les paramètres host et port. Cette séquence garantit que tous les écouteurs d'événement fonctionnent correctement.
Paramètres | host:String (default = null) —
Nom de domaine DNS complet ou adresse IP au format 111.222.333.444. Dans Flash Player 9.0.115.0 et AIR 1.0 et les versions ultérieures, vous pouvez spécifier les adresses IPv6, telles que rtmp://[2001:db8:ccc3:ffff:0:444d:555e:666f]. 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 utilisé sur l'hôte cible pour établir une connexion. Dans Flash Player 9.0.124.0 et les versions ultérieures, l'hôte cible doit fournir un fichier de régulation de socket spécifiant que les connexions de socket sont autorisées depuis l'hôte fournissant le fichier SWF vers le port spécifié. Dans les versions précédentes de Flash Player, le fichier de régulation de socket n'est obligatoire que si vous souhaitez vous connecter à un numéro de port inférieur à 1024 ou à un hôte autre que celui servant le fichier SWF. |
Evénements | connect:Event — Distribué lorsqu'une connexion réseau est établie. |
| |
| ioError:IOErrorEvent — Distribué lorsqu'il se produit une erreur d'entrée/sortie entraînant l'échec de la connexion. |
| |
| securityError:SecurityErrorEvent — Cette erreur se produit dans le contenu SWF. Distribué si un appel à Socket.connect() tente de se connecter à un serveur qui ne fournit pas de fichier de régulation de socket, ou à un serveur dont le fichier de régulation n'accorde pas l'accès de l'hôte appelant au port spécifié. Pour plus d'informations sur les fichiers de régulation de socket, consultez le chapitre « Sécurité de Flash Player » du manuel Programmation avec ActionScript 3.0. |
Valeur émise | SecurityError —
Cette erreur se produit dans le contenu SWF pour les raisons suivantes :
- Les fichiers locaux avec système de fichiers 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é. Le contenu de l'application AIR dans le sandbox de sécurité de l'application n'est pas soumis à cette restriction.
- Il est impossible de spécifier un port de socket supérieur à 65535.
|
public function close():void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ferme le socket. Après l'appel de la méthode close(), toute lecture ou écriture de données est impossible.
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().
Vous pouvez réutiliser l'objet Socket en lui appliquant à nouveau la méthode connect().
Valeur émise | IOError — La fermeture du socket a été impossible ou il n'a pas été ouvert. |
public function connect(host:String, port:int):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Connecte le socket à l'hôte et au port spécifiés. Si la connexion échoue immédiatement, un événement est distribué ou une exception est émise : un événement d'erreur est distribué si un hôte a été spécifié, et une exception est émise dans le cas contraire. Dans tous les autres cas, l'état de la connexion est signalé par un événement. Si le socket est déjà connecté, la connexion existante est d'abord fermée.
Paramètres
| host:String — Nom ou adresse IP de l'hôte auquel la connexion doit être établie. Si aucun hôte n’est spécifié, l'hôte hébergeant le fichier appelant est contacté. Si vous ne spécifiez pas d’hôte, utilisez un écouteur d’événement pour déterminer si la connexion a abouti. |
| |
| port:int — Numéro du port auquel établir la connexion. |
Evénements | connect:Event — Distribué lorsqu'une connexion réseau est établie. |
| |
| ioError:IOErrorEvent — Distribué lorsqu'un hôte est spécifié et qu'il se produit une erreur d'entrée/sortie entraînant l'échec de la connexion. |
| |
| securityError:SecurityErrorEvent — Distribué si un appel à Socket.connect() tente de se connecter à un serveur qui ne fournit pas de fichier de régulation de socket, ou à un serveur dont le fichier de régulation n'accorde pas l'accès de l'hôte appelant au port spécifié. Pour plus d'informations, consultez le chapitre « Sécurité de Flash Player » du manuel Programmation avec ActionScript 3.0. |
Valeur émise | IOError — Aucun hôte n'a été spécifié et la connexion a échoué. |
| |
| SecurityError —
Cette erreur se produit dans le contenu SWF pour les raisons suivantes :
- Les fichiers SWF locaux non approuvés ne peuvent pas communiquer avec Internet. Pour contourner cette restriction, reclassifiez le fichier en tant que fichier local avec accès au réseau ou en tant que fichier approuvé.
- Il est impossible de spécifier un port de socket supérieur à 65535.
-
Dans la page HTML qui héberge le contenu SWF, le paramètre
allowNetworking des balises object et embed est défini sur "none".
|
Voir aussi
public function flush():void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Efface les données accumulées dans la mémoire tampon de sortie du socket. Les données écrites à l'aide des méthodes write ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Valeur émise | IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function readBoolean():Boolean| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit une valeur booléenne dans le socket. Après la lecture d'un seul octet, la méthode renvoie true si l'octet est non nul, false dans le cas contraire.
Valeur renvoyée | Boolean —
Valeur true si l'octet lu est non nul, false dans le cas contraire.
|
Valeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function readByte():int| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un octet signé dans le socket.
Valeur renvoyée | int — Valeur comprise entre -128 et 127. |
Valeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit dans le socket le nombre d'octets de données spécifié par le paramètre length. Les octets sont lus dans le tableau d'octets spécifié, en partant de la position indiquée par offset.
Paramètres
| bytes:ByteArray — Objet ByteArray dont les données doivent être lues. |
| |
| offset:uint (default = 0) — Décalage à partir duquel la lecture des données doit commencer dans le tableau d'octets. |
| |
| length:uint (default = 0) — Nombre d'octets à lire. La valeur 0 (par défaut) provoque la lecture de toutes les données disponibles. |
Valeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function readDouble():Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit dans le socket un nombre à virgule flottante à deux décimales et conforme à IEEE 754.
Valeur renvoyée | Number — Nombre à virgule flottante à deux décimales, conforme à IEEE 754. |
Valeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function readFloat():Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit dans le socket un nombre à virgule flottante à une décimale et conforme à IEEE 754.
Valeur renvoyée | Number — Nombre à virgule flottante à une décimale, conforme à IEEE 754. |
Valeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function readInt():int| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un entier de 32 bits signé dans le socket.
Valeur renvoyée | int — Valeur comprise entre -2147483648 et 2147483647. |
Valeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function readMultiByte(length:uint, charSet:String):String| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit une chaîne multi-octets dans le flux d’octets, en utilisant le jeu de caractères spécifié.
Paramètres
| length:uint — Nombre d'octets à lire dans le flux d'octets. |
| |
| charSet:String —
Chaîne désignant le le jeu de caractères à utiliser pour interpréter les octets. Parmi les chaînes de jeu de caractères supportées figurent shift_jis, CN-GB et iso-8859-1. Pour obtenir la liste complète, consultez la section Jeux de caractères pris en charge.
Remarque : si la valeur du paramètre charSet n'est pas reconnue par le système actuel, l'application utilise la page de code par défaut du système comme jeu de caractères. Par exemple, une valeur pour le paramètre charSet, comme dans myTest.readMultiByte(22, "iso-8859-01") qui utilise 01 au lieu de 1 pourra éventuellement fonctionner sur votre poste de développement, mais pas sur un autre poste. Sur l'autre ordinateur, l'application utilisera la page de code par défaut du système.
|
Valeur renvoyée | String — Chaîne codée au format UTF-8. |
Valeur émise | EOFError — Les données à lire sont insuffisantes. |
public function readObject():*| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit dans le socket un objet codé au format AMF (Action Message Format) sérialisé.
Valeur renvoyéeValeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
Voir aussi
public function readShort():int| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un entier de 16 bits signé dans le socket.
Valeur renvoyée | int — Valeur comprise entre -32768 et 32767. |
Valeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function readUnsignedByte():uint| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un octet non signé dans le socket.
Valeur renvoyée | uint — Valeur comprise entre 0 et 255. |
Valeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function readUnsignedInt():uint| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un entier de 32 bits non signé dans le socket.
Valeur renvoyée | uint — Valeur comprise entre 0 et 4294967295. |
Valeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function readUnsignedShort():uint| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un entier de 16 bits non signé dans le socket.
Valeur renvoyée | uint — Valeur comprise entre 0 et 65535. |
Valeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function readUTF():String| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit une chaîne UTF-8 dans le socket. La chaîne est supposée comporter un préfixe composé d'un entier court non signé indiquant sa longueur en octets.
Valeur renvoyéeValeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function readUTFBytes(length:uint):String| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit dans le socket le nombre d'octets de données UTF-8 spécifié par le paramètre length et renvoie une chaîne.
Paramètres
| length:uint — Nombre d'octets à lire. |
Valeur renvoyéeValeur émise | EOFError — Les données à lire sont insuffisantes. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
public function writeBoolean(value:Boolean):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ecrit une valeur booléenne dans le socket. Cette méthode écrit un seul octet, dont la valeur correspond à 1 (true) ou à 0 (false ).
Remarque : les données écrites au moyen de cette méthode ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Paramètres
| value:Boolean —
Valeur à écrire dans le socket : 1 (true) ou 0 (false ).
|
Valeur émise | IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
Voir aussi
public function writeByte(value:int):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ecrit un octet dans le socket.
Remarque : les données écrites au moyen de cette méthode ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Paramètres
| value:int — Valeur à écrire dans le socket. Les 8 bits inférieurs de la valeur sont utilisés. Les 24 bits supérieurs ne sont pas pris en compte. |
Valeur émise | IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
Voir aussi
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ecrit une séquence d'octets extraits du tableau d'octets spécifié. L'écriture commence à la position indiquée par offset.
Si vous omettez le paramètre length, la valeur par défaut, 0, est utilisée et la méthode écrit l'intégralité de la mémoire tampon, en commençant à offset.
Si vous omettez aussi le paramètre offset, toute la mémoire tampon est écrite.
Si offset ou length ne sont pas compris dans la plage gérée, ils sont ajustés de sorte à correspondre au début et à fin du tableau d'octets (bytes).
Remarque : les données écrites au moyen de cette méthode ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Paramètres
| bytes:ByteArray — Objet ByteArray duquel extraire les données à écrire. |
| |
| offset:uint (default = 0) —
Décalage, commençant à zéro, dans l'objet ByteArray bytes auquel l'écriture des données doit commencer.
|
| |
| length:uint (default = 0) —
Nombre d'octets à écrire. La valeur par défaut, 0, entraîne l'écriture de l'intégralité de la mémoire tampon, en partant de la valeur spécifiée par le paramètre offset.
|
Valeur émise | IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
Voir aussi
public function writeDouble(value:Number):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ecrit dans le socket un nombre à virgule flottante à deux décimales et conforme à IEEE 754.
Remarque : les données écrites au moyen de cette méthode ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Paramètres
| value:Number — Valeur à écrire dans le socket. |
Valeur émise | IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
Voir aussi
public function writeFloat(value:Number):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ecrit dans le socket un nombre à virgule flottante à une décimale conforme à IEEE 754.
Remarque : les données écrites au moyen de cette méthode ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Paramètres
| value:Number — Valeur à écrire dans le socket. |
Valeur émise | IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
Voir aussi
public function writeInt(value:int):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ecrit un entier signé de 32 bits dans le socket.
Remarque : les données écrites au moyen de cette méthode ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Paramètres
| value:int — Valeur à écrire dans le socket. |
Valeur émise | IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
Voir aussi
public function writeMultiByte(value:String, charSet:String):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ecrit une chaîne multi-octets extraite du flux d'octets, en utilisant le jeu de caractères spécifié.
Remarque : les données écrites au moyen de cette méthode ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Paramètres
| value:String — Valeur de la chaîne à écrire. |
| |
| charSet:String —
Chaîne désignant le le jeu de caractères à utiliser pour interpréter les octets. Parmi les chaînes de jeu de caractères supportées figurent shift_jis, CN-GB et iso-8859-1. Pour obtenir la liste complète, consultez la section Jeux de caractères pris en charge.
|
Voir aussi
public function writeObject(object:*):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ecrit un objet dans le socket au format AMF sérialisé.
Remarque : les données écrites au moyen de cette méthode ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Paramètres
| object:* — Objet à sérialiser. |
Valeur émise | IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
Voir aussi
public function writeShort(value:int):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ecrit un entier 16 bits dans le socket. Les octets écrits se présentent comme suit :
(v >> 8) & 0xff v & 0xff
Les 16 bits inférieurs du paramètre sont utilisés. Les 16 bits supérieurs ne sont pas pris en compte.
Remarque : les données écrites au moyen de cette méthode ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Paramètres
| value:int — Valeur à écrire dans le socket. |
Valeur émise | IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
Voir aussi
public function writeUnsignedInt(value:uint):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ecrit un entier non signé de 32 bits dans le socket.
Remarque : les données écrites au moyen de cette méthode ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Paramètres
| value:uint — Valeur à écrire dans le socket. |
Valeur émise | IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
Voir aussi
public function writeUTF(value:String):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ecrit les données suivantes dans le socket : un entier non signé de 16 bits, qui indique, en octets, la longueur de la chaîne UTF-8 spécifiée, suivie de la chaîne elle-même.
Avant d'écrire la chaîne, la méthode calcule le nombre d'octets nécessaires pour représenter tous les caractères requis.
Remarque : les données écrites au moyen de cette méthode ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Paramètres
| value:String — Chaîne à écrire dans le socket. |
Valeur émise | RangeError — La longueur est supérieure à 65535. |
| |
| IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
Voir aussi
public function writeUTFBytes(value:String):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ecrit une chaîne UTF-8 dans le socket.
Remarque : les données écrites au moyen de cette méthode ne sont pas transmises immédiatement. Elles sont mises en file d'attente jusqu'à l'appel de la méthode flush().
Paramètres
| value:String — Chaîne à écrire dans le socket. |
Valeur émise | IOError — Une erreur d'E/S s'est produite dans le socket ou ce dernier n'est pas ouvert. |
Voir aussi
Type d'objet événement: flash.events.Eventpropriété Event.type = flash.events.Event.CLOSE| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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 Socket.close().
La constante
Event.CLOSE définit la valeur de la propriété
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. |
Type d'objet événement: flash.events.Eventpropriété Event.type = flash.events.Event.CONNECT| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Distribué lorsqu'une connexion réseau est établie.
La constante
Event.CONNECT définit la valeur de la propriété
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. |
Type d'objet événement: flash.events.IOErrorEventpropriété IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Distribué lorsqu'il se produit une erreur d'entrée/sortie entraînant l'échec d'un envoi ou d'un chargement.
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. |
errorID
| Un numéro de référence associé à l'erreur spécifique (AIR uniquement). |
target
| Objet réseau sur lequel l'erreur d'entrée/sortie s'est produite. |
text
| Texte à afficher en tant que message d'erreur. |
Type d'objet événement: flash.events.SecurityErrorEventpropriété SecurityErrorEvent.type = flash.events.SecurityErrorEvent.SECURITY_ERROR| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Distribué si un appel de Socket.connect() tente une connexion à un serveur situé hors du sandbox de sécurité de l'appelant ou à un port inférieur à 1024.
La constante
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
Type d'objet événement: flash.events.ProgressEventpropriété ProgressEvent.type = flash.events.ProgressEvent.SOCKET_DATA| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Distribué lorsqu'un socket a reçu des données. Les événements de type socketData n'utilisent pas la propriété ProgressEvent.bytesTotal.
Définit la valeur de la propriété
type d'un objet événement
socketData.
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
| Objet qui traite activement l'événement. |
bytesLoaded
| Nombre d'éléments ou d'octets chargés lors du traitement de l'événement par l'écouteur. |
bytesTotal
|
0 ; cette propriété n'est pas utilisée par les objets événement socketData.
|
target
| Objet Socket indiquant la progression. |
L'exemple suivant écrit et lit dans un socket et produit des informations transmises pendant des événements de socket. Vous trouverez ci-dessous des extraits de l'exemple :
-
Le constructeur crée une occurrence de
CustomSocket nommée socket et transmet le nom d'hôte localhost et le port 80 comme arguments. CustomSocket étendant Socket, un appel à la méthode super() invoque un constructeur de Socket.
-
Cet exemple appelle ensuite la méthode
configureListeners(), qui ajoute des écouteurs pour les événements de Socket.
-
Enfin, la méthode de socket
connect() est appelée avec localhost comme nom d'hôte et 80 comme numéro de port.
Remarque : pour exécuter l'exemple, vous avez besoin d'un serveur s'exécutant dans le domaine où réside le fichier SWF (dans l'exemple, localhost) et d'une écoute du port 80.
package {
import flash.display.Sprite;
public class SocketExample extends Sprite {
public function SocketExample() {
var socket:CustomSocket = new CustomSocket("localhost", 80);
}
}
}
import flash.errors.*;
import flash.events.*;
import flash.net.Socket;
class CustomSocket extends Socket {
private var response:String;
public function CustomSocket(host:String = null, port:uint = 0) {
super();
configureListeners();
if (host && port) {
super.connect(host, port);
}
}
private function configureListeners():void {
addEventListener(Event.CLOSE, closeHandler);
addEventListener(Event.CONNECT, connectHandler);
addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler);
}
private function writeln(str:String):void {
str += "\n";
try {
writeUTFBytes(str);
}
catch(e:IOError) {
trace(e);
}
}
private function sendRequest():void {
trace("sendRequest");
response = "";
writeln("GET /");
flush();
}
private function readResponse():void {
var str:String = readUTFBytes(bytesAvailable);
response += str;
}
private function closeHandler(event:Event):void {
trace("closeHandler: " + event);
trace(response.toString());
}
private function connectHandler(event:Event):void {
trace("connectHandler: " + event);
sendRequest();
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function socketDataHandler(event:ProgressEvent):void {
trace("socketDataHandler: " + event);
readResponse();
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Thu Jan 8 2009, 03:00 AM -08:00