Package | flash.net |
Classe | public class Socket |
Héritage | Socket EventDispatcher 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 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).
Plus d’exemples
Eléments de l’API associés
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 | ||
constructor : 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éthode | Défini par | ||
---|---|---|---|
Crée un nouvel objet Socket. | Socket | ||
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 | ||
Connecte le socket à l’hôte et au port spécifiés. | Socket | ||
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 | ||
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 | ||
Lit une valeur booléenne dans le socket. | Socket | ||
Lit un octet signé dans le socket. | Socket | ||
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 | ||
Lit une chaîne multi-octets dans le flux d’octets, en utilisant le jeu de caractères spécifié. | Socket | ||
readObject():*
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 | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | 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 | ||
Ecrit une valeur booléenne dans le socket. | Socket | ||
Ecrit un octet dans le socket. | Socket | ||
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énement | Synthèse | Défini par | ||
---|---|---|---|---|
[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 | |||
[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éseau | Socket | |||
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 |
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é |
localPort | propriété |
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
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.
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: — Distribué lorsqu’une connexion réseau est établie.
| |
ioError: — Distribué lorsqu’il se produit une erreur d’entrée/sortie entraînant l’échec de la connexion.
| |
securityError: —
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 :
|
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: — Distribué lorsqu’une connexion réseau est établie.
| |
ioError: — 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: — 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 :
|
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.
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éeint — 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éeNumber — 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éeNumber — 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éeint — 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 |
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éeint — 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éeuint — 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éeuint — 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éeuint — 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éeString — 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.
|
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
close | Evé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()
.
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. |
connect | Evé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 constanteEvent.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. |
ioError | Evé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 |
---|---|
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. |
outputProgress | Evé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 |
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 constanteSecurityErrorEvent.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. |
Eléments de l’API associés
socketData | Evé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
.
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 | Socket indiquant la progression. |
- Le constructeur crée une occurrence de
CustomSocket
nomméesocket
et transmet le nom d’hôtelocalhost
et le port 80 comme arguments.CustomSocket
étendant Socket, un appel à la méthodesuper()
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 aveclocalhost
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(); } }
Tue Jun 12 2018, 09:30 AM Z