Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : Récupération des données du serveur...
Récupération des données du serveur...
flash.net 

Socket  - AS3

Packageflash.net
Classepublic class Socket
HéritageSocket Inheritance EventDispatcher Inheritance Object
Implémente IDataInput, IDataOutput
Sous-classes SecureSocket

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

La classe Socket permet au code d’établir des connexions socket TCP (Transport Control Protocol, protocole de contrôle de transmission) pour l’envoi et la réception de données binaires.

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.

Un socket transmet et reçoit des données en mode asynchrone.

Sur certaines systèmes d’exploitation, la méthode flush() est appelée automatiquement entre les images d’exécution. Sur d’autres, notamment sur Windows, les données ne sont jamais envoyées, à moins que vous n’appeliez explicitement la méthode flush(). Pour assurer la fiabilité de votre application sur tous les systèmes d’exploitation, il est judicieux d’appeler la méthode flush() après l’écriture de chaque message (ou du groupe de données associé) sur le socket.

Dans Adobe AIR, les objets Socket sont également créés lorsqu’un serveur socket d’écoute reçoit une connexion provenant d’un processus externe. Le socket représentant la connexion est distribué dans un ServerSocketConnectEvent. Votre application est chargée de maintenir une référence à cet objet Socket. Dans le cas contraire, l’objet Socket peut être nettoyé et détruit par le moteur d’exécution sans avertissement.

Le contenu SWF s’exécutant dans le sandbox de sécurité local avec système de fichiers ne peut 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. Par conséquent, si vous utilisez des objets Socket, assurez-vous que l’hôte cible fournisse, le cas échéant, 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.
  • Dans AIR, aucun fichier de régulation de socket n’est requis pour le contenu s’exécutant dans le sandbox de sécurité de l’application. Les fichiers de régulation de socket sont requis pour toute connexion socket établie par le contenu s’exécutant en dehors du sandbox de sécurité de l’application AIR.

Pour plus d’informations concernant la sécurité, voir la rubrique du Pôle de développement Flash Player : Sécurité (disponible en anglais uniquement).

Consulter les exemples

Plus d’exemples

Eléments de l’API associés



Propriétés publiques
 PropriétéDéfini par
  bytesAvailable : uint
[lecture seule] Nombre d’octets de données disponibles en lecture dans la mémoire tampon d’entrée.
Socket
  bytesPending : uint
[lecture seule] Indique le nombre d’octets restants dans la mémoire tampon d’écriture.
Socket
  connected : Boolean
[lecture seule] Indique si l’objet Socket est actuellement connecté.
Socket
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
  endian : String
Indique l’ordre d’octet des données.
Socket
      localAddress : String
[lecture seule] Adresse IP à laquelle ce socket est lié sur la machine locale.
Socket
      localPort : int
[lecture seule] Port auquel ce socket est lié sur la machine locale.
Socket
  objectEncoding : uint
Contrôle la version du format AMF utilisée lors de l’écriture ou de la lecture d’un objet.
Socket
      remoteAddress : String
[lecture seule] Adresse IP de la machine distante à laquelle ce socket est connecté.
Socket
      remotePort : int
[lecture seule] Port de la machine distante auquel ce socket est connecté.
Socket
  timeout : uint
Indique le délai d’attente d’une connexion, en millisecondes.
Socket
Méthodes publiques
 MéthodeDéfini par
  
Socket(host:String = null, port:int = 0)
Crée un nouvel objet Socket.
Socket
 Inherited
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 le socket.
Socket
  
connect(host:String, port:int):void
Connecte le socket à l’hôte et au port spécifiés.
Socket
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
  
Efface les données accumulées dans la mémoire tampon de sortie du socket.
Socket
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
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
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
  
Lit une valeur booléenne dans le socket.
Socket
  
Lit un octet signé dans le socket.
Socket
  
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Lit dans le socket le nombre d’octets de données spécifié par le paramètre length.
Socket
  
Lit dans le socket un nombre à virgule flottante à deux décimales et conforme à IEEE 754.
Socket
  
Lit dans le socket un nombre à virgule flottante à une décimale et conforme à IEEE 754.
Socket
  
Lit un entier de 32 bits signé dans le socket.
Socket
  
readMultiByte(length:uint, charSet:String):String
Lit une chaîne multi-octets dans le flux d’octets, en utilisant le jeu de caractères spécifié.
Socket
  
Lit dans le socket un objet codé au format AMF (Action Message Format) sérialisé.
Socket
  
Lit un entier de 16 bits signé dans le socket.
Socket
  
Lit un octet non signé dans le socket.
Socket
  
Lit un entier de 32 bits non signé dans le socket.
Socket
  
Lit un entier de 16 bits non signé dans le socket.
Socket
  
Lit une chaîne UTF-8 dans le socket.
Socket
  
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.
Socket
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
 Inherited
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
  
Ecrit une valeur booléenne dans le socket.
Socket
  
Ecrit un octet dans le socket.
Socket
  
writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Ecrit une séquence d’octets extraits du tableau d’octets spécifié.
Socket
  
Ecrit dans le socket un nombre à virgule flottante à deux décimales et conforme à IEEE 754.
Socket
  
Ecrit dans le socket un nombre à virgule flottante à une décimale conforme à IEEE 754.
Socket
  
Ecrit un entier signé de 32 bits dans le socket.
Socket
  
Ecrit une chaîne multi-octets extraite du flux d’octets, en utilisant le jeu de caractères spécifié.
Socket
  
Ecrit un objet dans le socket au format AMF sérialisé.
Socket
  
Ecrit un entier 16 bits dans le socket.
Socket
  
Ecrit un entier non signé de 32 bits dans le socket.
Socket
  
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.
Socket
  
Ecrit une chaîne UTF-8 dans le socket.
Socket
Evénements
 Evénement Synthèse Défini par
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active.EventDispatcher
  Distribué lorsque le serveur ferme la connexion socket.Socket
  Distribué lorsqu’une connexion réseau est établie.Socket
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive.EventDispatcher
  Distribué lorsqu’il se produit une erreur d’entrée/sortie entraînant l’échec d’un envoi ou d’un chargement.Socket
  Distribué lorsqu’un socket déplace des données de son tampon d’écriture vers la couche de transport de la mise en réseauSocket
  Distribué si un appel de la méthode Socket.connect() tente d’établir une connexion à un serveur interdit par le sandbox de sécurité de l’appelant ou à un port inférieur à 1024, et qu’il n’existe aucun fichier de régulation de socket pour autoriser ce type de connexion.Socket
  Distribué lorsqu’un socket a reçu des données.Socket
Détails de la propriété

bytesAvailable

propriété
bytesAvailable:uint  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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():uint

bytesPending

propriété 
bytesPending:uint  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11, AIR 3.0

Indique le nombre d’octets restants dans la mémoire tampon d’écriture.

Utilisez cette propriété en combinaison avec l’événement OutputProgressEvent. Un événement OutputProgressEvent est distribué dès que des données sont écrites de la mémoire tampon d’écriture vers le réseau. Dans le gestionnaire d’événement, vous pouvez vérifier la propriété bytesPending pour savoir combien de données il reste à écrire dans la mémoire tampon. Lorsque bytesPending renvoie 0, cela signifie que toutes les données ont été transférées de la mémoire tampon d’écriture au réseau, et que certaines opérations telles que la suppression de gestionnaires d’événement, l’annulation des références au socket ou le démarrage du téléchargement suivant dans la file d’attente peuvent être effectuées en toute sécurité.



Implémentation
    public function get bytesPending():uint

Eléments de l’API associés

connected

propriété 
connected:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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():Boolean

endian

propriété 
endian:String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Indique l’ordre d’octet des données. Les valeurs possibles sont les 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):void

Eléments de l’API associés

    

localAddress

propriété 
localAddress:String  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 2

Adresse IP à laquelle ce socket est lié sur la machine locale.



Implémentation
    public function get localAddress():String

Eléments de l’API associés

    

localPort

propriété 
localPort:int  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 2

Port auquel ce socket est lié sur la machine locale.



Implémentation
    public function get localPort():int

Eléments de l’API associés

objectEncoding

propriété 
objectEncoding:uint

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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):void

Eléments de l’API associés

    

remoteAddress

propriété 
remoteAddress:String  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 2

Adresse IP de la machine distante à laquelle ce socket est connecté.

Vous pouvez utiliser cette propriété pour déterminer l’adresse IP d’un socket client distribué dans un ServerSocketConnectEvent par un objet ServerSocket. Si vous le souhaitez, utilisez la classe DNSResolver pour convertir une adresse IP en un nom de domaine.



Implémentation
    public function get remoteAddress():String

Eléments de l’API associés

    

remotePort

propriété 
remotePort:int  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 2

Port de la machine distante auquel ce socket est connecté.

Vous pouvez utiliser cette propriété pour déterminer le numéro de port d’un socket client distribué dans un ServerSocketConnectEvent par un objet ServerSocket.



Implémentation
    public function get remotePort():int

Eléments de l’API associés

timeout

propriété 
timeout:uint

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 10, AIR 1.5, Flash Lite 4

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):void
Détails du constructeur

Socket

()Constructeur
public 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, Flash Lite 4

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. Les adresses IPv4 sont spécifiées en notation point-décimale, par exemple 192.0.2.0. Dans Flash Player 9.0.115.0 et AIR 1.0 et les versions ultérieures, vous pouvez spécifier les adresses IPv6 à l’aide de la notation hexadécimale-deux points, par exemple 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 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’hôte appelant l’accès au port spécifié. Pour plus d’informations sur les fichiers de régulation, voir la rubrique « Contrôles de site Web (fichiers de régulation) » dans le Guide du développeur d’ActionScript 3.0 , ainsi que la rubrique Sécurité du Pôle de développement Flash Player (disponible en anglais uniquement).

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.
Détails de la méthode

close

()méthode
public function close():void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

connect

()méthode 
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, Flash Lite 4

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’hôte appelant l’accès au port spécifié. Pour plus d’informations sur les fichiers de régulation, voir la rubrique « Contrôles de site Web (fichiers de régulation) » dans le Guide du développeur d’ActionScript 3.0 , ainsi que la rubrique Sécurité du Pôle de développement Flash Player (disponible en anglais uniquement).

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 non approuvés au niveau local 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".

Plus d’exemples

flush

()méthode 
public function flush():void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Efface les données accumulées dans la mémoire tampon de sortie du socket.

Sur certaines systèmes d’exploitation, la méthode flush() est appelée automatiquement entre les images d’exécution. Sur d’autres, notamment sur Windows, les données ne sont jamais envoyées, à moins que vous n’appeliez explicitement la méthode flush(). Pour assurer la fiabilité de votre application sur tous les systèmes d’exploitation, il est judicieux d’appeler la méthode flush() après l’écriture de chaque message (ou du groupe de données associé) sur le socket.


Valeur émise
IOError — Une erreur d’E/S s’est produite dans le socket ou ce dernier n’est pas ouvert.

readBoolean

()méthode 
public function readBoolean():Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readByte

()méthode 
public function readByte():int

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readBytes

()méthode 
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, Flash Lite 4

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.

readDouble

()méthode 
public function readDouble():Number

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readFloat

()méthode 
public function readFloat():Number

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readInt

()méthode 
public function readInt():int

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readMultiByte

()méthode 
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, Flash Lite 4

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, voir 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.

readObject

()méthode 
public function readObject():*

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Lit dans le socket un objet codé au format AMF (Action Message Format) sérialisé.

Valeur renvoyée
* — Objet désérialisé

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.

Eléments de l’API associés

readShort

()méthode 
public function readShort():int

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readUnsignedByte

()méthode 
public function readUnsignedByte():uint

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readUnsignedInt

()méthode 
public function readUnsignedInt():uint

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readUnsignedShort

()méthode 
public function readUnsignedShort():uint

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readUTF

()méthode 
public function readUTF():String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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ée
String — Chaîne UTF-8.

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.

readUTFBytes

()méthode 
public function readUTFBytes(length:uint):String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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ée
String — Chaîne UTF-8.

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.

writeBoolean

()méthode 
public function writeBoolean(value:Boolean):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Ecrit une valeur booléenne dans le socket. Cette méthode écrit un seul octet, dont la valeur correspond à 1 (true) ou à 0 (false).

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.

Eléments de l’API associés

writeByte

()méthode 
public function writeByte(value:int):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Ecrit un octet dans le socket.

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.

Eléments de l’API associés

writeBytes

()méthode 
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, Flash Lite 4

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.

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.
 
RangeError — Si la valeur du paramètre offset est supérieure à la longueur de l’objet ByteArray spécifiée dans le paramètre bytes ou si la quantité de données spécifiée devant être écrites par offset et length dépasse les données disponibles.

Eléments de l’API associés

writeDouble

()méthode 
public function writeDouble(value:Number):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Ecrit dans le socket un nombre à virgule flottante à deux décimales et conforme à IEEE 754.

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.

Eléments de l’API associés

writeFloat

()méthode 
public function writeFloat(value:Number):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Ecrit dans le socket un nombre à virgule flottante à une décimale conforme à IEEE 754.

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.

Eléments de l’API associés

writeInt

()méthode 
public function writeInt(value:int):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Ecrit un entier signé de 32 bits dans le socket.

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.

Eléments de l’API associés

writeMultiByte

()méthode 
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, Flash Lite 4

Ecrit une chaîne multi-octets extraite du flux d’octets, en utilisant le jeu de caractères spécifié.

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, voir la section Jeux de caractères pris en charge.

Eléments de l’API associés

writeObject

()méthode 
public function writeObject(object:*):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Ecrit un objet dans le socket au format AMF sérialisé.

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.

Eléments de l’API associés

writeShort

()méthode 
public function writeShort(value:int):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

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.

Eléments de l’API associés

writeUnsignedInt

()méthode 
public function writeUnsignedInt(value:uint):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Ecrit un entier non signé de 32 bits dans le socket.

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.

Eléments de l’API associés

writeUTF

()méthode 
public function writeUTF(value:String):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

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.

Eléments de l’API associés

writeUTFBytes

()méthode 
public function writeUTFBytes(value:String):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Ecrit une chaîne UTF-8 dans le socket.

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.

Eléments de l’API associés

Détails de l’événement

close

Evénement
Type d’objet d’événement: flash.events.Event
proprié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, Flash Lite 4

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
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet dont la connexion a été fermée.

connect

Evénement  
Type d’objet d’événement: flash.events.Event
proprié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, Flash Lite 4

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
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet Socket ou XMLSocket qui a établi une connexion réseau.

ioError

Evénement  
Type d’objet d’événement: flash.events.IOErrorEvent
proprié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, Flash Lite 4

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 d’événement ioError.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
errorIDUn numéro de référence associé à l’erreur spécifique (AIR uniquement).
targetObjet réseau sur lequel l’erreur d’entrée/sortie s’est produite.
textTexte à afficher en tant que message d’erreur.

outputProgress

Evénement  
Type d’objet d’événement: flash.events.OutputProgressEvent

Distribué lorsqu’un socket déplace des données de son tampon d’écriture vers la couche de transport de la mise en réseau

securityError

Evénement  
Type d’objet d’événement: flash.events.SecurityErrorEvent
proprié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, Flash Lite 4

Distribué si un appel de la méthode Socket.connect() tente d’établir une connexion à un serveur interdit par le sandbox de sécurité de l’appelant ou à un port inférieur à 1024, et qu’il n’existe aucun fichier de régulation de socket pour autoriser ce type de connexion.

Remarque : dans une application AIR, le contenu s’exécutant dans le sandbox de sécurité de l’application est autorisé à se connecter à un serveur et à un numéro de port sans un fichier de régulation de socket.

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
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet réseau signalant l’erreur de sécurité
textTexte à afficher en tant que message d’erreur.

Eléments de l’API associés

socketData

Evénement  
Type d’objet d’événement: flash.events.ProgressEvent
proprié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, Flash Lite 4

Distribué lorsqu’un socket a reçu des données.

Les données reçues par le socket restent dans le socket jusqu’à leur lecture. Il n’est pas nécessaire de lire toutes les données disponibles pendant la gestion de cet événement.

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
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetObjet qui traite activement l’événement.
bytesLoadedNombre d’éléments ou d’octets chargés lors du traitement de l’événement par l’écouteur.
bytesTotal0 ; cette propriété n’est pas utilisée par les objets événement socketData.
targetSocket indiquant la progression.
SocketExample.as

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 :
  1. 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.
  2. Cet exemple appelle ensuite la méthode configureListeners(), qui ajoute des écouteurs pour les événements de Socket.
  3. 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 {
        private var socket:CustomSocket;
        
        public function SocketExample() {
            socket = 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();
    }
}




[ X ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.