Paquete | flash.net |
Clase | public class Socket |
Herencia | Socket EventDispatcher Object |
Implementa | IDataInput, IDataOutput |
Subclases | SecureSocket |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
La clase Socket resulta útil para trabajar con servidores que utilicen protocolos binarios.
Para utilizar los métodos de la clase Socket, utilice primero el constructor, new Socket
para crear un objeto Socket.
Un socket transmite y recibe datos asíncronamente.
En algunos sistemas operativos se llama a flush() automáticamente entre los fotogramas de ejecución, pero en otros sistemas operativos como Windows, los datos no se envían nunca a no ser que se llame a flush()
de forma explícita. Para garantizar que la aplicación es estable en todos los sistemas operativos, se recomienda llamar al método flush()
después de escribir cada mensaje (o grupo relacionado de datos) en el socket.
En Adobe AIR, los objetos Socket también se crean cuando una detector ServerSocket recibe una conexión desde un proceso externo. El Socket que representa la conexión se distribuye de en un evento ServerSocketConnectEvent. La aplicación es responsable de mantener una referencia al objeto Socket. Si no lo hace, el objeto Socket estará disponible para la recolección de elementos no utilizados y se puede destruir en tiempo de ejecución sin ninguna advertencia.
El contenido SWF ejecutado en el entorno limitado de seguridad local del sistema de archivos no puede utilizar sockets.
Los archivos de política de socket del host de destino especifican los host desde los que los archivos SWF pueden realizar conexiones de socket y los puertos en los que se pueden llevar a cabo estas conexiones. Los requisitos de seguridad relativos a los archivos de política de socket han llegado a ser más estrictos en las últimas versiones de Flash Player. En todas las versiones de Flash Player, Adobe recomienda el uso de un archivo de política de socket; en algunos casos, es necesario un archivo de este tipo. Por lo tanto, si está utilizando objetos Socket, asegúrese de que el host de destino proporcione un archivo de política de socket, si es necesario.
En la siguiente lista se resumen los requisitos para los archivos de política de socket en las distintas versiones de Flash Player:
- En Flash Player 9.0.124.0 y versiones posteriores, se requiere un archivo de política de socket para todas las conexiones Socket. Es decir, es necesario un archivo de política de socket en el host de destino independientemente del puerto en el que se realice la conexión y se requiere aunque la conexión se vaya a llevar a cabo en un puerto en el mismo host en el que está disponible el archivo SWF.
- En Flash Player 9.0.115.0 y versiones anteriores, si desea conectarse a un número de puerto inferior a 1024, o bien, a un host distinto al que sirve el archivo SWF, es necesario un archivo de política de socket en el host de destino.
- En Flash Player 9.0.115.0, aunque no es necesario ningún archivo de política de socket, aparece una advertencia cuando se usa el Reproductor de depuración de Flash si el host de destino no sirve ningún archivo de política de socket.
- En AIR, el contenido que se ejecuta en el entorno limitado de seguridad de la aplicación no necesita un archivo de política de socket. Los archivos de política de socket se necesitan en cualquier conexión de socket establecida por el contenido ejecutado fuera del entorno limitado de seguridad de la aplicación de AIR.
Para obtener más información sobre la seguridad, consulte el tema del Centro de desarrollo de Flash Player Seguridad
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
bytesAvailable : uint [solo lectura]
El número de bytes de datos disponibles para su lectura en el búfer de entrada. | Socket | ||
bytesPending : uint [solo lectura]
Indica el número de bytes restantes en el búfer de escritura. | Socket | ||
connected : Boolean [solo lectura]
Indica si este objeto Socket está conectado actualmente. | Socket | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
endian : String
Indica el orden de bytes de los datos. | Socket | ||
localAddress : String [solo lectura]
La dirección IP a la que este socket está vinculado en el equipo local. | Socket | ||
localPort : int [solo lectura]
El puerto al que este socket está vinculado en el equipo local. | Socket | ||
objectEncoding : uint
Controla la versión del AMF utilizado al escribir o leer un objeto. | Socket | ||
remoteAddress : String [solo lectura]
La dirección IP del equipo remoto a la que este socket está conectado. | Socket | ||
remotePort : int [solo lectura]
El puerto del equipo remoto al que este socket está conectado. | Socket | ||
timeout : uint
Indica el número de milisegundos para esperar una conexión. | Socket |
Método | Definido por | ||
---|---|---|---|
Crea un nuevo objeto Socket. | Socket | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. | EventDispatcher | ||
Cierra el socket. | Socket | ||
Realiza la conexión del socket con el host y el puerto especificados. | Socket | ||
Distribuye un evento en el flujo del evento. | EventDispatcher | ||
Alinea los datos acumulados en el búfer de salida del socket. | Socket | ||
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento. | EventDispatcher | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Lee un valor booleano del socket. | Socket | ||
Lee un byte con signo del socket. | Socket | ||
Lee el número de bytes de datos especificado por el parámetro length desde el socket. | Socket | ||
Lee un número de coma flotante con precisión doble IEEE 754 del socket. | Socket | ||
Lee un número de coma flotante con precisión simple IEEE 754 del socket. | Socket | ||
Lee un entero de 32 bits con signo del socket. | Socket | ||
Lee una cadena multibyte desde el flujo de bytes mediante el juego de caracteres especificado. | Socket | ||
readObject():*
Lee un objeto del socket, codificado en formato serializado AMF. | Socket | ||
Lee un entero de 16 bits con signo del socket. | Socket | ||
Lee un byte sin signo del socket. | Socket | ||
Lee un entero de 32 bits sin signo del socket. | Socket | ||
Lee un entero de 16 bits sin signo del socket. | Socket | ||
Lee una cadena UTF-8 del socket. | Socket | ||
Lee el número de bytes de datos UTF-8 especificado por el parámetro length desde el socket y devuelve una cadena. | Socket | ||
Elimina un detector del objeto EventDispatcher. | EventDispatcher | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object | ||
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto. | EventDispatcher | ||
Escribe un valor booleano en el socket. | Socket | ||
Escribe un byte en el socket. | Socket | ||
Escribe una secuencia de bytes desde el conjunto de bytes especificado. | Socket | ||
Escribe un número de coma flotante con precisión doble IEEE 754 en el socket. | Socket | ||
Escribe un número de coma flotante con precisión simple IEEE 754 en el socket. | Socket | ||
Escribe un entero de 32 bits con signo en el socket. | Socket | ||
Escribe una cadena multibyte desde la transmisión de bytes mediante el juego de caracteres especificado. | Socket | ||
Escribe un objeto en el socket en formato serializado AMF. | Socket | ||
Escribe un entero de 16 bits en el socket. | Socket | ||
Escribe un entero de 32 bits sin signo en el socket. | Socket | ||
Escribe los datos siguientes en el socket: un entero de 16 bits sin signo, que indica la longitud de la cadena UTF-8 especificada en bytes, seguido de la propia cadena. | Socket | ||
Escribe una cadena UTF-8 en el socket. | Socket |
Evento | Resumen | Definido por | ||
---|---|---|---|---|
[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos. | EventDispatcher | |||
Se distribuye cuando el servidor cierra la conexión de socket. | Socket | |||
Se distribuye cuando se establece una conexión de red. | Socket | |||
[evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos. | EventDispatcher | |||
Se distribuye cuando se produce un error de entrada o salida que provoca que una operación de carga o de envío se realice incorrectamente. | Socket | |||
Se distribuye cuando un socket mueve datos de su búfer de escritura a la capa de transporte de redes | Socket | |||
Distribuye si una llamada a Socket.connect() intenta conectar con un servidor prohibido del entorno limitado de seguridad del elemento que realiza la llamada o con un puerto inferior al 1024 y no existe ningún archivo de política de socket para permitir dicha conexión. | Socket | |||
Se distribuye cuando el socket ha recibido datos. | Socket |
bytesAvailable | propiedad |
bytesAvailable:uint
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
El número de bytes de datos disponibles para su lectura en el búfer de entrada.
El código debe poder acceder a bytesAvailable
para garantizar que hay datos suficientes disponibles antes de intentar leerlos con uno de los métodos read
.
Implementación
public function get bytesAvailable():uint
bytesPending | propiedad |
bytesPending:uint
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 11, AIR 3.0 |
Indica el número de bytes restantes en el búfer de escritura.
Utilice esta propiedad en combinación con el evento OutputProgressEvent. Se emite un evento OutputProgressEvent cada vez que se escriben datos en la red desde el búfer de lectura. En el controlador de eventos, puede comprobar bytesPending
para ver cuántos datos quedan aún en el búfer esperando para su escritura. Si bytesPending
devuelve 0, significa que todos los datos se han transferido desde el búfer de lectura a la red, y que es seguro realizar ciertas acciones como eliminar controladores de eventos, activar las referencias a sockets, iniciar la siguiente carga en la cola, etc.
Implementación
public function get bytesPending():uint
Elementos de API relacionados
connected | propiedad |
connected:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica si este objeto Socket está conectado actualmente. Una llamada a esta propiedad devuelve un valor true
si el socket está conectado en ese momento; en caso contrario, devuelve false
.
Implementación
public function get connected():Boolean
endian | propiedad |
endian:String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica el orden de bytes de los datos. Los valores posibles son constantes de la clase flash.utils.Endian, Endian.BIG_ENDIAN
o Endian.LITTLE_ENDIAN
.
El valor predeterminado es Endian.BIG_ENDIAN.
Implementación
public function get endian():String
public function set endian(value:String):void
Elementos de API relacionados
localAddress | propiedad |
localPort | propiedad |
objectEncoding | propiedad |
objectEncoding:uint
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Controla la versión del AMF utilizado al escribir o leer un objeto.
Implementación
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Elementos de API relacionados
remoteAddress | propiedad |
remoteAddress:String
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
La dirección IP del equipo remoto a la que este socket está conectado.
Puede utilizar esta propiedad para determinar la dirección IP de un socket de cliente distribuido en un evento ServerSocketConnectEvent por un objeto ServerSocket. Utilice la clase DNSResolver para convertir una dirección IP en un nombre de dominio, si lo desea.
Implementación
public function get remoteAddress():String
Elementos de API relacionados
remotePort | propiedad |
remotePort:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
El puerto del equipo remoto al que este socket está conectado.
Puede utilizar esta propiedad para determinar el número de puerto de un socket de cliente distribuido en un evento ServerSocketConnectEvent por un objeto ServerSocket.
Implementación
public function get remotePort():int
Elementos de API relacionados
timeout | propiedad |
timeout:uint
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Indica el número de milisegundos para esperar una conexión.
Si la conexión no se realiza en el tiempo especificado, se produce un error de conexión. El valor predeterminado es 20,000 (veinte segundos).
Implementación
public function get timeout():uint
public function set timeout(value:uint):void
Socket | () | Información sobre |
public function Socket(host:String = null, port:int = 0)
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Crea un nuevo objeto Socket. Si no se especifica ningún parámetro, se crea un socket desconectado inicialmente. Si se especifican parámetros, se intenta realizar la conexión con el host y el puerto especificados.
Nota: se recomienda encarecidamente el uso del formulario constructor sin parámetros, posteriormente la adición de todos los detectores de eventos y, a continuación, la llamada al método connect
con los parámetros host
y port
. Esta secuencia garantiza que todos los detectores de eventos funcionen correctamente.
host:String (default = null ) — Nombre de dominio DNS completo o una dirección IP. Las direcciones IPv4 se especifican en notación de punto decimal, por ejemplo 192.0.2.0. En Flash Player 9.0.115.0 y AIR 1.0, y en versiones posteriores, es posible especificar direcciones IPv6 con notación hexadecimal de dos puntos, por ejemplo //2001:db8:ccc3:ffff:0:444d:555e:666f. También puede especificar null para conectarse al servidor host en el que se encuentra el archivo SWF. Si el archivo SWF que realiza esta llamada se ejecuta en un navegador web, el valor host debe pertenecer al mismo dominio desde el que se originó el archivo SWF.
| |
port:int (default = 0 ) — Número de puerto TCP en el host de destino utilizado para establecer una conexión. En Flash Player 9.0.124.0 y versiones posteriores, el host de destino debe servir un archivo de política de socket especificando que las conexiones de socket se permiten desde el host que sirve el archivo SWF hasta el puerto especificado. En versiones anteriores de Flash Player, un archivo de política de socket es necesario sólo si desea conectarse a un número de puerto inferior a 1024, o bien, a un host distinto al que sirve el archivo SWF.
|
Eventos
connect: — Se distribuye cuando se establece una conexión de red.
| |
ioError: — Se distribuye cuando se produce un error de entrada o salida que provoca que la conexión se realice incorrectamente.
| |
securityError: —
Se distribuye si una llamada a Socket.connect() intenta realizar la conexión con un servidor que no sirve archivos de política de socket o a un servidor cuyo archivo de política no concede al host que realiza la llamada el acceso al puerto especificado. Para obtener más información sobre los archivos de política, consulte “Controles de sitio web (archivos de política)” en la Guía del desarrollador de ActionScript 3.0 y el tema del centro de desarrollo de Flash Player: Seguridad.
|
Emite
SecurityError — Este error se produce en contenido SWF por los siguientes motivos:
|
close | () | método |
public function close():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Cierra el socket. No es posible leer ni escribir datos tras llamar al método close()
.
El evento close
sólo se distribuye si el servidor cierra la conexión; no se distribuye al llamar al método close()
.
Puede reutilizar el objeto Socket si llama de nuevo al método connect()
.
Emite
IOError — No se pudo cerrar el socket o éste no se abrió.
|
connect | () | método |
public function connect(host:String, port:int):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Realiza la conexión del socket con el host y el puerto especificados.
Si la conexión falla inmediatamente, o bien se ha distribuido un evento o se ha emitido una excepción: se distribuye un evento de error si se especificó un host y se emite una excepción si no se especificó ningún host. En caso contrario, un evento informa sobre el estado de la conexión. Si el socket ya está conectado, primero se cierra la conexión existente.
Parámetros
host:String — Nombre o dirección IP del host al que se realiza la conexión. Si no se especifica ningún host, aquél con el que se establezca el contacto será el host en el que resida el archivo que realiza la llamada. Si no especifica ningún host, utilice un detector de eventos para determinar si la conexión se ha realizado correctamente.
| |
port:int — Número de puerto con el que se realiza la conexión.
|
Eventos
connect: — Se distribuye cuando se establece una conexión de red.
| |
ioError: — Se distribuye si se especifica un host y cuando se produce un error de entrada o salida que provoca que la conexión se realice incorrectamente.
| |
securityError: — Se distribuye si una llamada a Socket.connect() intenta realizar la conexión con un servidor que no sirve archivos de política de socket o a un servidor cuyo archivo de política no concede al host que realiza la llamada el acceso al puerto especificado. Para obtener más información sobre los archivos de política, consulte “Controles de sitio web (archivos de política)” en la Guía del desarrollador de ActionScript 3.0 y el tema del centro de desarrollo de Flash Player: Seguridad.
|
Emite
IOError — No se especificó ningún host y se produjo un error de conexión.
| |
SecurityError — Este error se produce en contenido SWF por los siguientes motivos:
|
flush | () | método |
public function flush():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Alinea los datos acumulados en el búfer de salida del socket.
En algunos sistemas operativos se llama a flush() automáticamente entre los fotogramas de ejecución, pero en otros sistemas operativos como Windows, los datos no se envían nunca a no ser que se llame a flush()
de forma explícita. Para garantizar que la aplicación es estable en todos los sistemas operativos, se recomienda llamar al método flush()
después de escribir cada mensaje (o grupo relacionado de datos) en el socket.
Emite
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
readBoolean | () | método |
public function readBoolean():Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee un valor booleano del socket. Tras leer un solo byte, el método devuelve true
si el byte es distinto de cero; en caso contrario, devuelve false
.
Boolean — Un valor true si el byte leído es distinto de cero; en caso contrario, false .
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
readByte | () | método |
public function readByte():int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee un byte con signo del socket.
Valor devueltoint — Un valor entre -128 y 127.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
readBytes | () | método |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee el número de bytes de datos especificado por el parámetro length desde el socket. Los bytes se leen en el conjunto de bytes especificado, comenzando por la posición indicada mediante offset
.
Parámetros
bytes:ByteArray — El objeto ByteArray en el que se leerán los datos.
| |
offset:uint (default = 0 ) — El desplazamiento en el que debería comenzar la lectura de los datos en el conjunto de bytes.
| |
length:uint (default = 0 ) — El número de bytes que se van a leer. El valor predeterminado 0 hace que se lean todos los datos disponibles.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
readDouble | () | método |
public function readDouble():Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee un número de coma flotante con precisión doble IEEE 754 del socket.
Valor devueltoNumber — Número IEEE 754 de coma flotante de doble precisión.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
readFloat | () | método |
public function readFloat():Number
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee un número de coma flotante con precisión simple IEEE 754 del socket.
Valor devueltoNumber — Número IEEE 754 de coma flotante de precisión única.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
readInt | () | método |
public function readInt():int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee un entero de 32 bits con signo del socket.
Valor devueltoint — Un valor entre -2147483648 y 2147483647.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
readMultiByte | () | método |
public function readMultiByte(length:uint, charSet:String):String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee una cadena multibyte desde el flujo de bytes mediante el juego de caracteres especificado.
Parámetros
length:uint — El número de bytes del flujo de bytes que se va a leer.
| |
charSet:String — La cadena que denota el juego de caracteres que se utilizará para interpretar los bytes. Las posibles cadenas del conjunto de caracteres pueden ser "shift_jis" , "CN-GB" y "iso-8859-1" . Para obtener una lista completa, consulte los juegos de caracteres admitidos.
Nota: si el sistema actual no reconoce el parámetro |
String — Una cadena con codificación UTF-8.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
|
readObject | () | método |
public function readObject():*
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee un objeto del socket, codificado en formato serializado AMF.
Valor devuelto* — El objeto deserializado.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
Elementos de API relacionados
readShort | () | método |
public function readShort():int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee un entero de 16 bits con signo del socket.
Valor devueltoint — Un valor entre -32768 y 32767.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
readUnsignedByte | () | método |
public function readUnsignedByte():uint
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee un byte sin signo del socket.
Valor devueltouint — Un valor entre 0 y 255.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
readUnsignedInt | () | método |
public function readUnsignedInt():uint
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee un entero de 32 bits sin signo del socket.
Valor devueltouint — Un valor entre 0 y 4294967295.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
readUnsignedShort | () | método |
public function readUnsignedShort():uint
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee un entero de 16 bits sin signo del socket.
Valor devueltouint — Un valor entre 0 y 65535.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
readUTF | () | método |
public function readUTF():String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee una cadena UTF-8 del socket. Se da por hecho que la cadena tiene un prefijo de declaración de entero corto sin signo que indica la longitud en bytes.
Valor devueltoString — Una cadena UTF-8.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
readUTFBytes | () | método |
public function readUTFBytes(length:uint):String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lee el número de bytes de datos UTF-8 especificado por el parámetro length
desde el socket y devuelve una cadena.
Parámetros
length:uint — El número de bytes que se van a leer.
|
String — Una cadena UTF-8.
|
Emite
EOFError — No hay datos suficientes disponibles para leer.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
writeBoolean | () | método |
public function writeBoolean(value:Boolean):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escribe un valor booleano en el socket. Este método escribe un solo byte con el valor 1 (true
) ó 0 (false
).
Parámetros
value:Boolean — El valor que se va a escribir en el socket. 1 (true ) o 0 (false ).
|
Emite
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
Elementos de API relacionados
writeByte | () | método |
public function writeByte(value:int):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escribe un byte en el socket.
Parámetros
value:int — El valor que se va a escribir en el socket. Se utilizan los 8 bits más bajos del valor; los 24 bits altos se omiten.
|
Emite
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
Elementos de API relacionados
writeBytes | () | método |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escribe una secuencia de bytes desde el conjunto de bytes especificado. La operación de escritura comienza en la posición especificada por offset
.
Si omite el parámetro length
, la longitud predeterminada de 0 hará que el método escriba en todo el búfer, comenzando por offset
.
Si también omite el parámetro offset
, se escribirá en todo el búfer.
Parámetros
bytes:ByteArray — El objeto ByteArray desde el que se escribirán los datos.
| |
offset:uint (default = 0 ) — El desplazamiento basado en cero del objeto ByteArray bytes en el que debería comenzar la escritura de los datos.
| |
length:uint (default = 0 ) — El número de bytes que se van a escribir. El valor predeterminado de 0 hace que se escriba en todo el búfer, comenzando por el valor especificado con el parámetro offset .
|
Emite
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
| |
RangeError — Si offset es mayor que la longitud de la instancia de ByteArray especificada en bytes o si la cantidad de datos especificados que se va a escribir por offset más length supera los datos disponibles.
|
Elementos de API relacionados
writeDouble | () | método |
public function writeDouble(value:Number):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escribe un número de coma flotante con precisión doble IEEE 754 en el socket.
Parámetros
value:Number — El valor que se va a escribir en el socket.
|
Emite
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
Elementos de API relacionados
writeFloat | () | método |
public function writeFloat(value:Number):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escribe un número de coma flotante con precisión simple IEEE 754 en el socket.
Parámetros
value:Number — El valor que se va a escribir en el socket.
|
Emite
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
Elementos de API relacionados
writeInt | () | método |
public function writeInt(value:int):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escribe un entero de 32 bits con signo en el socket.
Parámetros
value:int — El valor que se va a escribir en el socket.
|
Emite
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
Elementos de API relacionados
writeMultiByte | () | método |
public function writeMultiByte(value:String, charSet:String):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escribe una cadena multibyte desde la transmisión de bytes mediante el juego de caracteres especificado.
Parámetros
value:String — El valor de la cadena que se va a escribir.
| |
charSet:String — La cadena que denota el juego de caracteres que se utilizará para interpretar los bytes. Las posibles cadenas del conjunto de caracteres pueden ser "shift_jis" , "CN-GB" y "iso-8859-1" . Para obtener una lista completa, consulte los juegos de caracteres admitidos.
|
Elementos de API relacionados
writeObject | () | método |
public function writeObject(object:*):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escribe un objeto en el socket en formato serializado AMF.
Parámetros
object:* — El objeto que se va a serializar.
|
Emite
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
Elementos de API relacionados
writeShort | () | método |
public function writeShort(value:int):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escribe un entero de 16 bits en el socket. Los bytes escritos son los siguientes:
(v >> 8) & 0xff v & 0xff
Se utilizan los 16 bits más bajos del parámetro; los 16 bits altos se omiten.
Parámetros
value:int — El valor que se va a escribir en el socket.
|
Emite
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
Elementos de API relacionados
writeUnsignedInt | () | método |
public function writeUnsignedInt(value:uint):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escribe un entero de 32 bits sin signo en el socket.
Parámetros
value:uint — El valor que se va a escribir en el socket.
|
Emite
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
Elementos de API relacionados
writeUTF | () | método |
public function writeUTF(value:String):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escribe los datos siguientes en el socket: un entero de 16 bits sin signo, que indica la longitud de la cadena UTF-8 especificada en bytes, seguido de la propia cadena.
Antes de escribir la cadena, el método calcula el número de bytes necesarios para representar todos los caracteres de la cadena.
Parámetros
value:String — La cadena que se va a escribir en el socket.
|
Emite
RangeError — La longitud es superior a 65535.
| |
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
Elementos de API relacionados
writeUTFBytes | () | método |
public function writeUTFBytes(value:String):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escribe una cadena UTF-8 en el socket.
Parámetros
value:String — La cadena que se va a escribir en el socket.
|
Emite
IOError — Error de entrada o salida generado en el socket, o bien el socket no está abierto.
|
Elementos de API relacionados
close | Evento |
flash.events.Event
propiedad Event.type =
flash.events.Event.CLOSE
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se distribuye cuando el servidor cierra la conexión de socket.
El evento close
sólo se distribuye si el servidor cierra la conexión; no se distribuye al llamar al método Socket.close()
.
Event.CLOSE
define el valor de la propiedad type
de un objeto de evento close
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Objeto cuya conexión se ha cerrado. |
connect | Evento |
flash.events.Event
propiedad Event.type =
flash.events.Event.CONNECT
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se distribuye cuando se establece una conexión de red.
La constanteEvent.CONNECT
define el valor de la propiedad type
de un objeto de evento connect
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Objeto Socket o XMLSocket que ha establecido una conexión de red. |
ioError | Evento |
flash.events.IOErrorEvent
propiedad IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se distribuye cuando se produce un error de entrada o salida que provoca que una operación de carga o de envío se realice incorrectamente.
Define el valor de la propiedadtype
de un objeto de evento ioError
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
errorID | Un número de referencia asociado al error concreto (sólo AIR). |
target | El objeto de red en el que se produce el error de entrada/salida. |
text | Texto que se mostrará como mensaje de error. |
outputProgress | Evento |
flash.events.OutputProgressEvent
Se distribuye cuando un socket mueve datos de su búfer de escritura a la capa de transporte de redes
securityError | Evento |
flash.events.SecurityErrorEvent
propiedad SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Distribuye si una llamada a Socket.connect()
intenta conectar con un servidor prohibido del entorno limitado de seguridad del elemento que realiza la llamada o con un puerto inferior al 1024 y no existe ningún archivo de política de socket para permitir dicha conexión.
Nota: en una aplicación de AIR, el contenido que se ejecuta en el entorno limitado de seguridad de la aplicación puede conectar cualquier ningún servidor y número de puerto sin un archivo de política de socket.
La constanteSecurityErrorEvent.SECURITY_ERROR
define el valor de la propiedad type
de un objeto de evento securityError
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto de red que informa sobre le error de seguridad. |
text | Texto que se mostrará como mensaje de error. |
Elementos de API relacionados
socketData | Evento |
flash.events.ProgressEvent
propiedad ProgressEvent.type =
flash.events.ProgressEvent.SOCKET_DATA
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se distribuye cuando el socket ha recibido datos.
Los datos recibidos por el socket permanecen en el socket hasta que se lee. No tiene que leer todos los datos disponibles durante el controlador de este evento.
Los eventos de tipo socketData
no utilizan la propiedad ProgressEvent.bytesTotal
.
type
de un objeto de evento socketData
.
Este evento tiene las propiedades siguientes:
Propiedad | Valor |
---|---|
bubbles | false |
cancelable | false ; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento. |
bytesLoaded | Número de elementos o bytes cargados en el momento en que el detector procesa el evento. |
bytesTotal | 0; los objetos de evento socketData no utilizan esta propiedad. |
target | El socket que informa sobre el progreso. |
- El constructor crea una instancia de
CustomSocket
denominadasocket
y transfiere el nombre de hostlocalhost
y el puerto 80 como argumentos. Debido a queCustomSocket
amplía Socket, con una llamada asuper()
se llama al constructor de Socket. - A continuación, el ejemplo llama al método
configureListeners()
, que añade detectores para eventos Socket. - Finalmente, el método de socket
connect()
se llama conlocalhost
como nombre de host y 80 como número de puerto.
Nota: para ejecutar el ejemplo, necesita un servidor que se ejecute en el mismo dominio en el que reside el archivo SWF (en el ejemplo, localhost
) y que detecte en el puerto 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, 02:12 PM Z