| Paquete | flash.net |
| Clase | public class LocalConnection |
| Herencia | LocalConnection EventDispatcher Object |
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
fscommand() o JavaScript. Los objetos LocalConnection sólo pueden comunicarse entre archivos SWF que se ejecuten en el mismo equipo cliente, aunque pueden estar ejecutándose en diferentes aplicaciones: por ejemplo, un archivo SWF que se esté ejecutando en un navegador y un archivo SWF que se esté ejecutando en un proyector.
Los objetos LocalConnection creados con ActionScript 3.0 se pueden comunicar con objetos LocalConnection creados con ActionScript 1.0 ó 2.0. También al contrario: los objetos LocalConnection creados con ActionScript 1.0 ó 2.0 se pueden comunicar con objetos LocalConnection creados con ActionScript 3.0. Flash Player maneja automáticamente esta comunicación entre objetos LocalConnection de distintas versiones.
Para comprender cómo se utilizan los objetos LocalConnection en la implementación de la comunicación entre dos archivos SWF, resulta útil identificar los comandos empleados en cada archivo. Un archivo SWF recibe el nombre de archivo SWF emisor; se trata del archivo que contiene el método que se va a invocar. El archivo SWF emisor debe contener un objeto LocalConnection y una llamada al método send(). El otro archivo SWF recibe el nombre de archivo SWF receptor; se trata del archivo que invoca el método. El archivo SWF receptor debe contener otro objeto LocalConnection y realizar una llamada al método connect().
El uso de send() y connect() varía si los archivos SWF están en el mismo dominio, en dominios distintos con nombres de dominio predecibles o en dominios diferentes con nombres de dominio impredecibles o dinámicos. En los párrafos siguientes se explican los tres casos distintos y se proporcionan muestras de código para cada uno.
Mismo dominio. Es la forma más sencilla de utilizar un objeto LocalConnection para permitir la comunicación únicamente entre objetos LocalConnection ubicados en el mismo dominio, ya que, de forma predeterminada, Flash Player permite la comunicación entre dominios iguales. Si se comunican dos archivos SWF del mismo dominio, no es necesario implementar ninguna medida de seguridad especial: simplemente se transfiere el mismo valor para el parámetro connectionName tanto al método connect() como al método send():
Dominios distintos con nombres de dominio predecibles. Cuando se comunican dos archivos SWF de dominios distintos, es necesario permitir la comunicación entre ellos llamando al método allowDomain(). También es necesario calificar el nombre de la conexión en el método send() con el nombre del dominio del objeto LocalConnection receptor:
Dominios distintos con nombres de dominio no predecibles. En ocasiones, es probable que quiera que el archivo SWF con el objeto LocalConnection receptor presente una mayor portabilidad entre dominios. Para evitar tener que especificar el nombre del dominio en el método send(), pero sí indicar a Flash Player que los objetos LocalConnection emisores y receptores no se encuentran en el mismo dominio, preceda el nombre de la conexión con un carácter de subrayado (_) en las llamadas a connect() y a send(). Para permitir la comunicación entre dos dominios, llame al método allowDomain() y transfiera los dominios para los que desee permitir llamadas de LocalConnection. También puede transferir el argumento comodín ( para permitir llamadas desde todos los dominios:
Se pueden utilizar objetos LocalConnection para enviar y recibir datos en un solo archivo SWF, pero no suele ser lo habitual.
Para más información sobre los métodos send() y connect(), consulte la descripción del parámetro connectionName en las entradas LocalConnection.send() y LocalConnection.connect(). Asimismo, consulte las entradas allowDomain() y domain.
Véase también
| Propiedad | Definido por | ||
|---|---|---|---|
| client : Object
Indica el objeto en el que se invocan los métodos callback.
| LocalConnection | ||
![]() | constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
| Object | |
| domain : String
[read-only]
Una cadena que representa el dominio de la ubicación del archivo SWF actual.
| LocalConnection | ||
![]() | prototype : Object
[static]
Una referencia al objeto prototipo de una clase u objeto de función.
| Object | |
| Método | Definido por | ||
|---|---|---|---|
|
Crea un objeto LocalConnection.
| LocalConnection | ||
![]() |
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 | |
|
Especifica uno o varios dominios que pueden enviar las llamadas a LocalConnection a esta instancia de LocalConnection.
| LocalConnection | ||
|
Especifica uno o varios dominios que pueden enviar las llamadas a LocalConnection a este objeto LocalConnection.
| LocalConnection | ||
|
Cierra (desconecta) un objeto LocalConnection.
| LocalConnection | ||
|
Prepara un objeto LocalConnection para recibir comandos de un comando send() (denominado objeto LocalConnection emisor).
| LocalConnection | ||
![]() |
Distribuye un evento en el flujo del evento.
| EventDispatcher | |
![]() |
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 | |
![]() |
Elimina un detector del objeto EventDispatcher.
| EventDispatcher | |
|
Invoca el método denominado methodName en una conexión abierta con el método connect(connectionName) (el objeto LocalConnection receptor).
| LocalConnection | ||
![]() |
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
| 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 | |
| Evento | Resumen | Definido por | ||
|---|---|---|---|---|
![]() | Se distribuye cuando Flash Player queda seleccionado por el sistema operativo y pasa a estar activo. | EventDispatcher | ||
| Se distribuye cuando se emite una excepción de forma asíncrona, es decir, desde un código asíncrono nativo. | LocalConnection | |||
![]() | Se distribuye cuando Flash Player deja de estar seleccionado por el sistema operativo y pasa a estar inactivo. | EventDispatcher | ||
| Se distribuye si una llamada a LocalConnection.send() intenta enviar datos a un entorno limitado de seguridad distinto. | LocalConnection | |||
| Se distribuye cuando un objeto LocalConnection informa sobre su estado. | LocalConnection | |||
| client | propiedad |
client:Object [read-write]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Indica el objeto en el que se invocan los métodos callback. El objeto predeterminado es this (la conexión local que se está creando). Se puede establecer la propiedad client en otro objeto y los métodos callback se invocarán en dicho objeto.
public function get client():Object
public function set client(value:Object):void
TypeError — La propiedad client debe establecerse en un objeto que no tenga valor null.
|
Véase también
| domain | propiedad |
domain:String [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Una cadena que representa el dominio de la ubicación del archivo SWF actual.
En archivos SWF publicados para Flash Player 9 o posterior, la cadena devuelta es el dominio exacto del archivo SWF actual, incluidos los subdominios. Por ejemplo, si el archivo SWF está situado en www.adobe.com, este comando devolverá "www.adobe.com".
Si el archivo SWF actual es un archivo local que reside en el equipo cliente, este comando devolverá "localhost".
Esta propiedad se utiliza habitualmente incluyendo el nombre del dominio del objeto LocalConnection emisor como parámetro del método que tiene previsto invocar en el objeto LocalConnection receptor o para su uso con LocalConnection.allowDomain() para aceptar comandos de un dominio determinado. Si desea permitir la comunicación sólo entre objetos LocalConnection que se encuentren en el mismo dominio, probablemente no necesite utilizar esta propiedad.
public function get domain():String
Véase también
| LocalConnection | () | constructor |
public function LocalConnection()
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Crea un objeto LocalConnection. Los objetos LocalConnection se pueden utilizar para habilitar la comunicación entre distintos archivos SWF que se ejecuten en el mismo equipo cliente.
Véase también
| allowDomain | () | método |
public function allowDomain(... domains):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica uno o varios dominios que pueden enviar las llamadas a LocalConnection a esta instancia de LocalConnection.
Este método no se puede utilizar para hacer que los archivos SWF alojados mediante un protocolo seguro (HTTPS) permitan el acceso desde los archivos SWF alojados en protocolos no seguros; para ello, se deberá utilizar el método allowInsecureDomain().
Es posible que desee utilizar este método para que un archivo SWF secundario de un dominio diferente pueda hacer llamadas LocalConnection al archivo SWF principal, cuando no conoce el dominio final del que proviene el archivo SWF secundario. Por ejemplo, esto puede ocurrir cuando se utilizan redirecciones de reparto de carga o servidores de terceros. En este caso, puede utilizar la propiedad url del objeto LoaderInfo usado con la carga, para obtener el dominio que se utilizará con el método allowDomain(). Por ejemplo, si utiliza un objeto Loader para cargar un archivo SWF secundario, una vez que se haya cargado el archivo, puede comprobar la propiedad contentLoaderInfo.url del objeto Loader y analizar el dominio fuera de la cadena URL completa. Si lo hace, asegúrese de que espera a que se cargue el archivo SWF, ya que la propiedad contentLoaderInfo.url no dispondrá de su valor final correcto hasta que el archivo esté completamente cargado.
También puede darse la situación contraria: puede crear un archivo SWF secundario que quiera aceptar llamadas LocalConnection de su archivo principal pero que no conozca el dominio de su archivo principal. En este caso, para implementar este método, compruebe si el argumento de dominio coincide con el dominio de la propiedad loaderInfo.url en el archivo SWF que se ha cargado. Una vez más, deberá analizar el dominio fuera de la URL completa de loaderInfo.url. En este caso, no tendrá que esperar a que se cargue el archivo SWF principal; el archivo principal ya estará cargado en el momento en que se cargue el archivo secundario.
Cuando utilice este método, tenga en cuenta el modelo de seguridad de Flash Player. De forma predeterminada, un objeto LocalConnection está asociado con el entorno limitado del archivo SWF que lo creó y no se admiten llamadas de varios dominios a objetos LocalConnection a menos que se haya llamado al método LocalConnection.allowDomain() en el archivo SWF receptor.
Para más información, consulte las siguientes secciones:
Nota: el método allowDomain() ha cambiado desde ActionScript 1.0 y 2.0. En dichas versiones anteriores, allowDomain era un método callback que se implementaba. En ActionScript 3.0, allowDomain() es un método incorporado de LocalConnection que puede recibir llamadas. Con este cambio, el funcionamiento de allowDomain() es muy similar al de flash.system.Security.allowDomain().
Parámetros
... domains — Una o varias cadenas que dan nombre a los dominios en los que se quiere permitir la recepción de llamadas LocalConnection. Este parámetro tiene dos casos especiales:
|
ArgumentError — Todos los parámetros especificados no deben ser nulos.
|
Véase también
| allowInsecureDomain | () | método |
public function allowInsecureDomain(... domains):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica uno o varios dominios que pueden enviar las llamadas a LocalConnection a este objeto LocalConnection.
El funcionamiento del método allowInsecureDomain() es exactamente igual que el del método allowDomain(), con la excepción de que el método allowInsecureDomain() también permite que los archivos SWF que no proceden de HTTPS puedan enviar llamadas LocalConnection a archivos SWF que sí proceden de HTTPS. Esta diferencia sólo es importante si se llama al método allowInsecureDomain() desde un archivo SWF cargado con HTTPS. Debe llamar al método allowInsecureDomain() aunque atraviese una zona no HTTPS/HTTPS dentro del mismo dominio; de forma predeterminada, las llamadas LocalConnection nunca están permitidas desde archivos SWF que no procedan de HTTPS a archivos SWF HTTPS, incluso si se encuentran en el mismo dominio.
No se recomienda llamar a allowInsecureDomain(), ya que podría poner en riesgo la seguridad que ofrece HTTPS. Si carga un archivo SWF mediante HTTPS, puede tener la seguridad razonable de que el archivo SWF no se modificará durante su envío por la red. Si permite que un archivo SWF que no procede de HTTPS realice llamadas LocalConnection al archivo SWF HTTPS, estará aceptando llamadas de un archivo SWF que podría, en realidad, haberse modificado durante su envío. Esto suele requerir una mayor vigilancia, ya que no se puede confiar en la autenticidad de las llamadas LocalConnection que llegan al archivo SWF HTTPS.
De manera predeterminada, sólo los archivos SWF alojados mediante un protocolo HTTPS pueden acceder a otros archivos SWF alojados mediante el protocolo HTTPS. Esta implementación mantiene la integridad que ofrece el protocolo HTTPS.
No es recomendable utilizar este método para sustituir el comportamiento predeterminado, ya que pone en riesgo la seguridad de HTTPS. Sin embargo, es posible que tenga que hacerlo, por ejemplo, si necesita permitir el acceso a archivos HTTPS publicados para Flash Player 9 o posterior desde archivos HTTP publicados para Flash Player 6 o versiones anteriores.
Para más información, consulte las siguientes secciones:
Parámetros
... domains — Una o varias cadenas que dan nombre a los dominios en los que se quiere permitir la recepción de llamadas LocalConnection. Hay dos casos especiales para este parámetro:
|
ArgumentError — Todos los parámetros especificados no deben ser nulos.
|
Véase también
| close | () | método |
public function close():void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Cierra (desconecta) un objeto LocalConnection. Envíe este comando cuando ya no desee que el objeto acepte comandos (por ejemplo, cuando desee enviar un comando connect() utilizando el mismo parámetro connectionName en otro archivo SWF).
ArgumentError — La instancia de LocalConnection no está conectada, por lo que no es posible cerrarla.
|
Véase también
| connect | () | método |
public function connect(connectionName:String):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Prepara un objeto LocalConnection para recibir comandos de un comando send() (denominado objeto LocalConnection emisor). El objeto utilizado con este comando se conoce como objeto LocalConnection receptor. Los objetos receptor y emisor deben estar en ejecución en el mismo equipo cliente.
Para evitar una situación precipitada, defina los métodos asociados al objeto LocalConnection receptor antes de llamar a este método, tal como se indica en el ejemplo de la clase LocalConnection.
De forma predeterminada, Flash Player resuelve connectionName como un valor "superdomain:connectionName", donde superdomain es el superdominio del archivo SWF que contiene el comando connect(). Por ejemplo, si el archivo SWF que contiene el objeto LocalConnection receptor está ubicado en www.someDomain.com, connectionName se resuelve como "someDomain.com:connectionName". (Si un archivo SWF está situado en un equipo cliente, el valor asignado a superdomain es "localhost").
Asimismo, de forma predeterminada, Flash Player permite que el objeto LocalConnection receptor acepte solamente comandos de objetos LocalConnection emisores cuyo nombre de conexión también se resuelva en el valor "superdomain:connectionName". De esta forma, Flash facilita la comunicación entre archivos SWF situados en el mismo dominio.
Sí sólo va a implementar la comunicación entre archivos SWF del mismo dominio, especifique una cadena para connectionName que no comience por un carácter de subrayado (_) y que no especifique un nombre de dominio (por ejemplo, "myDomain:connectionName"). Utilice la misma cadena en el método connect(connectionName).
Si va a implementar comunicación entre archivos SWF de diferentes dominios, la especificación de una cadena para connectionName que comience por un carácter de subrayado (_) permitirá que el archivo SWF que tiene el objeto LocalConnection receptor presente una mayor portabilidad entre dominios. Estos son los dos casos posibles:
connectionName no comienza por un carácter de subrayado (_), Flash Player añade un prefijo con el superdominio y dos puntos (por ejemplo, "myDomain:connectionName"). Aunque esto garantiza que la conexión no entre en conflicto con conexiones de otros dominios que tengan el mismo nombre, los objetos LocalConnection emisores deben especificar este superdominio (por ejemplo, "myDomain:connectionName"). Si el archivo SWF que contiene el objeto LocalConnection receptor se traslada a otro dominio, el reproductor cambiará el prefijo para reflejar el nuevo superdominio (por ejemplo, "anotherDomain:connectionName"). Sería necesario editar manualmente todos los objetos LocalConnection emisores para que apuntaran al nuevo superdominio.connectionName comienza por un carácter de subrayado (por ejemplo, "_connectionName"), Flash Player no añadirá ningún prefijo a la cadena. Esto significa que los objetos LocalConnection receptores y emisores utilizarán idénticas cadenas para connectionName. Si el objeto receptor utiliza allowDomain() para especificar que se acepten las conexiones de cualquier dominio, el SWF que contiene el objeto LocalConnection receptor podrá trasladarse a otro dominio sin modificar ningún objeto LocalConnection emisor.Para más información, consulte la descripción de la presentación general de la clase y la descripción de connectionName en send(). Consulte también las entradas allowDomain() y domain.
Nota: los dos puntos se utilizan como caracteres especiales que separan el superdominio de la cadena connectionName. La cadena de connectionName no puede incluir dos puntos.
Cuando utilice este método, tenga en cuenta el modelo de seguridad de Flash Player. De forma predeterminada, un objeto LocalConnection está asociado con el entorno limitado del archivo SWF que lo creó y no se admiten llamadas de varios dominios a objetos LocalConnection a menos que se haya llamado al método LocalConnection.allowDomain() en el archivo SWF receptor. Asimismo, se puede impedir que un archivo SWF utilice este método si define el parámetro allowNetworking de las etiquetas object y embed de la página HTML que aloja el contenido SWF.
Para más información, consulte las siguientes secciones:
Parámetros
connectionName:String — Una cadena que se corresponde con el nombre de conexión especificado en el comando send() que desea comunicarse con el objeto LocalConnection receptor.
|
TypeError — El valor transferido al parámetro connectionName no puede ser null.
|
|
ArgumentError — Este error puede producirse por tres motivos: 1) El valor de cadena transferido al parámetro connectionName es null. Transfiera un valor que no sea null. 2) El valor transferido al parámetro connectionName contiene dos puntos (:). Los dos puntos son caracteres especiales empleados para separar el superdominio de la cadena connectionName en el método send(), no en el método connect(). 3) La instancia de LocalConnection ya está conectada.
|
Véase también
| send | () | método |
public function send(connectionName:String, methodName:String, ... arguments):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Invoca el método denominado methodName en una conexión abierta con el método connect(connectionName) (el objeto LocalConnection receptor). El objeto utilizado con este comando se conoce como objeto LocalConnection emisor. Los archivos SWF que contienen los objetos emisor y receptor deben estar en ejecución en el mismo equipo cliente.
Existe un límite de 40 kilobytes para la cantidad de datos que puede pasar en forma de parámetros a este comando. Si send() emite un ArgumentError pero la sintaxis es correcta, intente dividir las solicitudes de send() en varios comandos, cada uno con menos de 40 Kb de datos.
Tal y como se describe en la entrada connect(), Flash Player añade el superdominio actual a connectionName de forma predeterminada. Si está implementando la comunicación entre diferentes dominios, debe definir connectionName en los objetos LocalConnection emisor y receptor de manera que Flash no añada el superdominio actual a connectionName. Puede hacerlo de una de las dos formas siguientes:
connectionName en los objetos LocalConnection emisor y receptor. En el archivo SWF que contiene el objeto receptor, utilice LocalConnection.allowDomain() para especificar que se acepten las conexiones procedentes de cualquier dominio. Esta implementación le permite almacenar los archivos SWF emisor y receptor en cualquier dominio.connectionName en el objeto LocalConnection emisor (por ejemplo, myDomain.com:myConnectionName). En el objeto receptor, utilice LocalConnection.allowDomain() para especificar que se acepten las conexiones desde el superdominio especificado (en este caso, myDomain.com) o que se acepten las conexiones desde cualquier dominio.Nota: no puede especificar un superdominio en connectionName en el objeto LocalConnection receptor (sólo puede hacerlo en el objeto LocalConnection emisor).
Cuando utilice este método, tenga en cuenta el modelo de seguridad de Flash Player. De forma predeterminada, un objeto LocalConnection está asociado con el entorno limitado del archivo SWF que lo creó y no se admiten llamadas de varios dominios a objetos LocalConnection a menos que se haya llamado al método LocalConnection.allowDomain() en el archivo SWF receptor. Asimismo, se puede impedir que un archivo SWF utilice este método si define el parámetro allowNetworking de las etiquetas object y embed de la página HTML que aloja el contenido SWF.
Para más información, consulte las siguientes secciones:
Parámetros
connectionName:String — Se corresponde con el nombre de conexión especificado en el comando connect() que desea comunicarse con el objeto LocalConnection emisor.
|
|
methodName:String — El nombre del método que se invoca en el objeto receptor LocalConnection. Los siguientes nombres de método provocan que el comando falle: send, connect, close, allowDomain, allowInsecureDomain, client y domain.
|
|
... arguments — Parámetros opcionales adicionales que se deben transferir al método especificado.
|
securityError: — LocalConnection.send() intentó comunicarse con un archivo SWF desde un entorno limitado de seguridad al que el nodo que realiza la llamada no tiene acceso. Puede solucionar este problema en la implementación del receptor de LocalConnection.allowDomain(). |
|
status: — Si el valor de la propiedad level es "status", la llamada se ha realizado correctamente; si el valor es "error", la llamada ha fallado. Se pueden producir errores en la llamada si el archivo SWF receptor rechaza la conexión. |
TypeError — El valor de connectionName o de methodName es null. Transfiera a estos parámetros valores que no sean null.
|
|
ArgumentError — Este error puede producirse por uno de los motivos siguientes: 1) El valor de connectionName o de methodName es una cadena vacía. Transfiera a estos parámetros cadenas válidas. 2) El método especificado en methodName está restringido. 3) El mensaje serializado que se está enviando es demasiado grande (más de 40 K).
|
Véase también
| asyncError | Evento |
flash.events.AsyncErrorEvent
flash.events.AsyncErrorEvent.ASYNC_ERROR
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando se emite una excepción de forma asíncrona, es decir, desde un código asíncrono nativo.
La constanteAsyncErrorEvent.ASYNC_ERROR define el valor de la propiedad type de un objeto de evento asyncError.
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 con un detector de eventos. |
target | El objeto en el que se produce un error de operación de red. |
error | El error que desencadenó el evento. |
| securityError | Evento |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye si una llamada a LocalConnection.send() intenta enviar datos a un entorno limitado de seguridad distinto.
SecurityErrorEvent.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 | El 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. |
Véase también
| status | Evento |
flash.events.StatusEvent
flash.events.StatusEvent.STATUS
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando un objeto LocalConnection informa sobre su estado. Si la llamada LocalConnection.send() se realiza correctamente, el valor de la propiedad level del objeto de evento status es "status"; si se produce un error en la llamada, la propiedad level es "error". Si el archivo SWF receptor rechaza la conexión, la llamada podría producir un error y no notificarlo al archivo SWF emisor.
type de un objeto de evento status.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
code | Descripción del estado del objeto. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
level | La categoría del mensaje, por ejemplo, "status", "warning" o "error". |
target | El objeto que informa sobre su estado. |
Véase también
En el archivo SWF LocalConnectionSenderExample, se crea una instancia de LocalConnection y, al pulsar el botón, se utiliza el método call() para llamar al método lcHandler del archivo SWF con la conexión denominada "myConnection" y se transfiere el contenido de TextField como un parámetro.
En el archivo SWF LocalConnectionReceiverExample, se crea una instancia de LocalConnection y se llama al método connect() para designar este archivo SWF como destinatario de los mensajes dirigidos a la conexión denominada "myConnection". Además, esta clase contiene un método público llamado lcHandler(); este método es al que llama el archivo SWF LocalConnectionSenderExample. Cuando realiza la llamada, el texto transferido como parámetro se añade a TextField en el escenario.
Nota: para probar este ejemplo, los dos archivos SWF deben estar cargados en el mismo equipo al mismo tiempo.
// Code in LocalConnectionSenderExample.as
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.net.LocalConnection;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.events.StatusEvent;
import flash.text.TextFieldAutoSize;
public class LocalConnectionSenderExample extends Sprite {
private var conn:LocalConnection;
// UI elements
private var messageLabel:TextField;
private var message:TextField;
private var sendBtn:Sprite;
public function LocalConnectionSenderExample() {
buildUI();
sendBtn.addEventListener(MouseEvent.CLICK, sendMessage);
conn = new LocalConnection();
conn.addEventListener(StatusEvent.STATUS, onStatus);
}
private function sendMessage(event:MouseEvent):void {
conn.send("myConnection", "lcHandler", message.text);
}
private function onStatus(event:StatusEvent):void {
switch (event.level) {
case "status":
trace("LocalConnection.send() succeeded");
break;
case "error":
trace("LocalConnection.send() failed");
break;
}
}
private function buildUI():void {
const hPadding:uint = 5;
// messageLabel
messageLabel = new TextField();
messageLabel.x = 10;
messageLabel.y = 10;
messageLabel.text = "Text to send:";
messageLabel.autoSize = TextFieldAutoSize.LEFT;
addChild(messageLabel);
// message
message = new TextField();
message.x = messageLabel.x + messageLabel.width + hPadding;
message.y = 10;
message.width = 120;
message.height = 20;
message.background = true;
message.border = true;
message.type = TextFieldType.INPUT;
addChild(message);
// sendBtn
sendBtn = new Sprite();
sendBtn.x = message.x + message.width + hPadding;
sendBtn.y = 10;
var sendLbl:TextField = new TextField();
sendLbl.x = 1 + hPadding;
sendLbl.y = 1;
sendLbl.selectable = false;
sendLbl.autoSize = TextFieldAutoSize.LEFT;
sendLbl.text = "Send";
sendBtn.addChild(sendLbl);
sendBtn.graphics.lineStyle(1);
sendBtn.graphics.beginFill(0xcccccc);
sendBtn.graphics.drawRoundRect(0, 0, (sendLbl.width + 2 + hPadding + hPadding), (sendLbl.height + 2), 5, 5);
sendBtn.graphics.endFill();
addChild(sendBtn);
}
}
}
// Code in LocalConnectionReceiverExample.as
package {
import flash.display.Sprite;
import flash.net.LocalConnection;
import flash.text.TextField;
public class LocalConnectionReceiverExample extends Sprite {
private var conn:LocalConnection;
private var output:TextField;
public function LocalConnectionReceiverExample() {
buildUI();
conn = new LocalConnection();
conn.client = this;
try {
conn.connect("myConnection");
} catch (error:ArgumentError) {
trace("Can't connect...the connection name is already being used by another SWF");
}
}
public function lcHandler(msg:String):void {
output.appendText(msg + "\n");
}
private function buildUI():void {
output = new TextField();
output.background = true;
output.border = true;
output.wordWrap = true;
addChild(output);
}
}
}
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/flash/net/LocalConnection.html