| Pacchetto | flash.net |
| Classe | public class LocalConnection |
| Ereditarietà | LocalConnection EventDispatcher Object |
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
fscommand() o JavaScript. Gli oggetti LocalConnection possono comunicare solo tra i file SWF in esecuzione sullo stesso client, ma possono essere eseguiti in applicazioni diverse (ad esempio, un file SWF in esecuzione in un browser e un file SWF in esecuzione in un proiettore).
Gli oggetti LocalConnection creati in ActionScript 3.0 sono in grado di comunicare con gli oggetti LocalConnection creati in ActionScript 1.0 o 2.0. Vale anche il contrario: gli oggetti LocalConnection creati in ActionScript 1.0 o 2.0 sono in grado di comunicare con gli oggetti LocalConnection creati in ActionScript 3.0. Flash Player gestisce in modo automatico questa comunicazione tra oggetti LocalConnection di versioni diverse.
Per comprendere come utilizzare gli oggetti LocalConnection per implementare la comunicazione tra due file SWF, è utile identificare i comandi utilizzati in ogni file. Un file SWF viene definito file SWF mittente ed è il file che contiene il metodo da richiamare. Il file SWF mittente deve contenere un oggetto LocalConnection e una chiamata al metodo send(). L'altro file SWF viene definito file SWF ricevente ed è il file che richiama il metodo. Il file SWF ricevente deve contenere un altro oggetto LocalConnection e una chiamata al metodo connect().
La scelta tra send() e connect() dipende dal fatto che i file SWF si trovano nello stesso dominio, in domini diversi con nomi di dominio prevedibili o in domini diversi con nomi di dominio imprevedibili o dinamici. Nei paragrafi seguenti vengono illustrate le tre diverse situazioni, con esempi di codice.
Stesso dominio. Il modo più semplice per utilizzare un oggetto LocalConnection consiste nel consentire la comunicazione solo tra gli oggetti LocalConnection di uno stesso dominio, poiché per impostazione predefinita Flash Player consente la comunicazione nello stesso dominio. Quando due file SWF dello stesso dominio comunicano, non è necessario implementare alcuna misura di sicurezza speciale ed è sufficiente passare lo stesso valore per il parametro connectionName sia del metodo connect() che del metodo send():
Domini diversi con nomi di dominio prevedibili. Quando due file SWF di diversi domini comunicano, è necessario consentire la comunicazione tra i due domini chiamando il metodo allowDomain(). Inoltre, è necessario qualificare il nome della connessione nel metodo send() con il nome di dominio dell'oggetto LocalConnection ricevente:
Domini diversi con nomi di dominio imprevedibili. Talvolta, può essere necessario rendere il file SWF con l'oggetto LocalConnection ricevente più portabile tra i domini. Per evitare di specificare il nome di dominio nel metodo send() e tuttavia indicare a Flash Player che gli oggetti LocalConnection ricevente e mittente non appartengono allo stesso dominio, anteporre al nome della connessione il carattere di sottolineatura (_) sia nella chiamata a connect() che nella chiamata a send(). Per consentire la comunicazione tra i due domini, chiamare il metodo allowDomain() e passare i domini da cui si desidera consentire le chiamate LocalConnection. In alternativa, inserire il carattere jolly (come argomento per consentire le chiamate da tutti i domini):
È possibile utilizzare gli oggetti LocalConnection per inviare e ricevere dati in un solo file SWF, ma non si tratta di un'implementazione tipica.
Per ulteriori informazioni sui metodi send() e connect(), consultare la descrizione del parametro connectionName nelle sezioni relative a LocalConnection.send() e LocalConnection.connect(). Vedere anche le sezioni relative a allowDomain() e domain.
Vedere anche
| Proprietà | Definito da | ||
|---|---|---|---|
| client: Object
Indica l'oggetto su cui vengono chiamati i metodi di callback.
| LocalConnection | ||
![]() | constructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
| Object | |
| domain: String
[sola lettura]
Una stringa che rappresenta il dominio della posizione del file SWF corrente.
| LocalConnection | ||
![]() | prototype: Object
[statico]
Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
| Object | |
| Metodo | Definito da | ||
|---|---|---|---|
|
Crea un oggetto LocalConnection.
| LocalConnection | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento.
| EventDispatcher | |
|
Specifica uno o più domini che possono inviare chiamate LocalConnection a questa istanza LocalConnection.
| LocalConnection | ||
|
Specifica uno o più domini che possono inviare chiamate LocalConnection a questo oggetto LocalConnection.
| LocalConnection | ||
|
Chiude (disconnette) un oggetto LocalConnection.
| LocalConnection | ||
|
Prepara un oggetto LocalConnection a ricevere i comandi provenienti da un comando send() (definito oggetto LocalConnection mittente).
| LocalConnection | ||
![]() |
Invia un evento nel flusso di eventi.
| EventDispatcher | |
![]() |
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
| EventDispatcher | |
![]() |
Indica se per un oggetto è definita una proprietà specifica.
| Object | |
![]() |
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
| Object | |
![]() |
Indica se la proprietà specificata esiste ed è enumerabile.
| Object | |
![]() |
Rimuove un listener dall'oggetto EventDispatcher.
| EventDispatcher | |
|
Richiama il metodo methodName su una connessione aperta con il metodo connect(connectionName) (l'oggetto LocalConnection ricevente).
| LocalConnection | ||
![]() |
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
| Object | |
![]() |
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
| Object | |
![]() |
Restituisce il valore di base dell'oggetto specificato.
| Object | |
![]() |
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
| EventDispatcher | |
| Evento | Riepilogo | Definito da | ||
|---|---|---|---|---|
![]() | Inviato quando Flash Player riceve lo stato di attivazione del sistema operativo e diventa attivo. | EventDispatcher | ||
| Inviato quando viene generata un'eccezione in modo asincrono, cioè da un codice asincrono nativo. | LocalConnection | |||
![]() | Inviato quando Flash Player perde lo stato di attivazione del sistema operativo e sta per diventare inattivo. | EventDispatcher | ||
| Inviato se una chiamata a LocalConnection.send() tenta di inviare dati a una funzione di sicurezza sandbox diversa. | LocalConnection | |||
| Inviato quando un oggetto LocalConnection segnala il proprio stato. | LocalConnection | |||
| client | proprietà |
client:Object [lettura-scrittura]
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Indica l'oggetto su cui vengono chiamati i metodi di callback. L'oggetto predefinito è this, l'oggetto locale che si sta creando. È possibile impostare la proprietà client su un altro oggetto, e i metodi di callback vengono richiamati su tale oggetto.
public function get client():Object
public function set client(value:Object):void
TypeError — La proprietà client deve essere impostata su un oggetto diverso da null.
|
Vedere anche
| domain | proprietà |
domain:String [sola lettura]
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Una stringa che rappresenta il dominio della posizione del file SWF corrente.
Nei file SWF pubblicati per Flash Player 9 o versioni successive, la stringa restituita è il dominio esatto del file SWF corrente, compresi i sottodomini. Ad esempio, se il file SWF si trova all'indirizzo www.adobe.com, questo comando restituisce "www.adobe.com".
Se il file SWF è un file locale che risiede sul computer client, questo comando restituisce "localhost".
L'uso più comune di questa proprietà consiste nell'includere il nome del dominio dell'oggetto LocalConnection mittente come parametro per il metodo che si prevede di richiamare nell'oggetto LocalConnection ricevente, oppure di utilizzarla con LocalConnection.allowDomain() per accettare i comandi provenienti da un dominio specificato. Se si abilita la comunicazione solo tra oggetti LocalConnection che si trovano nello stesso dominio, probabilmente non è necessario utilizzare questa proprietà.
public function get domain():String
Vedere anche
| LocalConnection | () | Funzione di costruzione |
public function LocalConnection()
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Crea un oggetto LocalConnection. È possibile utilizzare gli oggetti LocalConnection per abilitare la comunicazione tra file SWF diversi che sono in esecuzione sullo stesso computer client.
Vedere anche
| allowDomain | () | metodo |
public function allowDomain(... domains):void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Specifica uno o più domini che possono inviare chiamate LocalConnection a questa istanza LocalConnection.
Non è possibile usare questo metodo per consentire ai file SWF che risiedono sul dominio mediante protocolli non protetti di accedere ai file SWF che risiedono sul dominio mediante un protocollo protetto (HTTPS); utilizzare invece il metodo allowInsecureDomain().
Utilizzare questo metodo per fare in modo che un file SWF secondario proveniente da un dominio differente possa effettuare chiamate LocalConnection al file SWF principale, senza conoscere il dominio finale dal quale proverrà il file SWF secondario. Questa situazione può verificarsi ad esempio quando si utilizzano i reindirizzamenti per il bilanciamento del carico di lavoro o i server di terze parti. In tale situazione, utilizzare la proprietà url dell'oggetto LoaderInfo utilizzato per il caricamento per ottenere il dominio da usare con il metodo allowDomain(). Ad esempio, se si usa un oggetto Loader per caricare un file SWF secondario, una volta caricato il file, verificare la proprietà contentLoaderInfo.url dell'oggetto Loader ed estrarre il dominio dalla stringa dell'URL. In tal caso, attendere che il file SWF sia caricato, poiché il valore della proprietà contentLoaderInfo.url non è definitivo e corretto finché il file non è stato completamente caricato.
In realtà può verificarsi anche la situazione opposta: è possibile creare un file SWF secondario impostato per accettare le chiamate LocalConnection dal proprio elemento principale ma di cui non conosce il dominio. In tal caso, implementare questo metodo verificando se l'argomento del dominio corrisponde al dominio della proprietà loaderInfo.url nel file SWF. Anche in questo caso è necessario analizzare il dominio fuori dell'URL completo contenuto in loaderInfo.url. In questo caso, non è necessario attendere il caricamento del file SWF principale poiché sarà già stato completato al momento del caricamento dell'elemento secondario.
Quando si utilizza questo metodo, considerare il modello di sicurezza di Flash Player. Per impostazione predefinita, un oggetto LocalConnection è associato alla sandbox del file SWF che l'ha creato e le chiamate su più domini agli oggetti LocalConnection non sono consentite, a meno che non sia stato chiamato il metodo LocalConnection.allowDomain() nel file SWF ricevente.
Per ulteriori informazioni, vedere i seguenti riferimenti:
Nota: Il metodo allowDomain() è stato modificato rispetto alla forma che aveva in ActionScript 1.0 e 2.0. Nelle versioni precedenti, allowDomain era un metodo di callback implementato dall'utente. In ActionScript 3.0, allowDomain() è un metodo incorporato di LocalConnection che viene chiamato. Grazie a questa modifica, allowDomain() funziona in modo molto simile a flash.system.Security.allowDomain().
Parametri
... domains — Una o più stringhe che assegnano i nomi ai domini da cui si desidera consentire le chiamate LocalConnection. Questo parametro prevede due eccezioni:
|
ArgumentError — Tutti i parametri specificati devono essere stringhe diverse da null.
|
Vedere anche
| allowInsecureDomain | () | metodo |
public function allowInsecureDomain(... domains):void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Specifica uno o più domini che possono inviare chiamate LocalConnection a questo oggetto LocalConnection.
Il metodo allowInsecureDomain() funziona in modo simile al metodo allowDomain(), con l'eccezione che il metodo allowInsecureDomain() consente anche ai file SWF con un'origine diversa da HTTPS di inviare chiamate LocalConnection ai file SWF da un'origine HTTPS. Questa differenza è significativa solo se si chiama il metodo allowInsecureDomain() da un file SWF che è stato caricato tramite HTTPS. È necessario chiamare il metodo allowInsecureDomain() anche se si oltrepassa un confine tra non HTTPS e HTTPS all'interno di uno stesso dominio; per impostazione predefinita, non sono mai consentite chiamate LocalConnection da file SWF non HTTPS a file SWF HTTPS, anche all'interno dello stesso dominio.
Non è consigliabile effettuare chiamate a allowInsecureDomain(), poiché ciò può compromettere il livello di sicurezza offerto da HTTPS. Quando si carica un file SWF tramite HTTPS, si può essere ragionevolmente sicuri dell'integrità del file SWF durante la distribuzione in rete. Se successivamente si autorizza un file SWF non HTTPS a effettuare chiamate LocalConnection al file SWF HTTPS, si accettano chiamate da un file SWF che potrebbe essere stato manomesso durante la distribuzione. Questa situazione richiede generalmente un livello aggiuntivo di vigilanza, poiché non è possibile considerare attendibile l'autenticità delle chiamate LocalConnection provenienti dal file SWF HTTPS.
Per impostazione predefinita, i file SWF che risiedono in domini che utilizzano il protocollo HTTPS sono accessibili solo da altri file SWF che risiedono in domini che utilizzano il protocollo HTTPS. Questa implementazione conserva l'integrità fornita dal protocollo HTTPS.
Non è consigliabile utilizzare questo metodo per ignorare il comportamento predefinito, poiché la sicurezza HTTPS viene compromessa. Tuttavia, può essere necessario utilizzarlo per consentire l'accesso ai file HTTPS pubblicati per Flash Player 9 o versioni successive da parte dei file HTTP pubblicati per Flash Player 6 o precedente.
Per ulteriori informazioni, vedere i seguenti riferimenti:
Parametri
... domains — Una o più stringhe che assegnano i nomi ai domini da cui si desidera consentire le chiamate LocalConnection. Per questo parametro esistono due eccezioni:
|
ArgumentError — Tutti i parametri specificati devono essere stringhe diverse da null.
|
Vedere anche
| close | () | metodo |
public function close():void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Chiude (disconnette) un oggetto LocalConnection. Eseguire questo comando se non si desidera più che l'oggetto accetti i comandi: ad esempio, per eseguire un comando connect() che utilizza lo stesso parametro connectionName in un altro file SWF.
ArgumentError — L'istanza LocalConnection non è connessa, quindi non può essere chiusa.
|
Vedere anche
| connect | () | metodo |
public function connect(connectionName:String):void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Prepara un oggetto LocalConnection a ricevere i comandi provenienti da un comando send() (definito oggetto LocalConnection mittente). L'oggetto utilizzato con questo comando viene definito oggetto LocalConnection ricevente. Gli oggetti mittenti e riceventi devono essere in esecuzione sullo stesso computer client.
Per evitare una condizione race, definire i metodi associati all'oggetto LocalConnection ricevente prima di chiamare questo metodo, come mostrato nell'esempio della classe LocalConnection.
Per impostazione predefinita, Flash Player risolve connectionName in un valore "superdomain:connectionName" , dove superdomain corrisponde al superdominio del file SWF che contiene il comando connect(). Ad esempio, se il file SWF che contiene l'oggetto LocalConnection ricevente si trova in www.someDomain.com, connectionName risolve a "someDomain.com:connectionName". Se un file SWF si trova sul computer client, il valore assegnato a superdomain è "localhost".
Sempre per impostazione predefinita, Flash Player consente all'oggetto LocalConnection ricevente di accettare comandi solo dagli oggetti LocalConnection mittenti per cui anche il nome di connessione risolve al valore "superdomain:connectionName". In questo modo, Flash rende più semplice la comunicazione tra i file SWF di uno stesso dominio.
Se si implementa la comunicazione solo tra file SWF dello stesso dominio, specificare una stringa per connectionName che non inizi con un carattere di sottolineatura (_) e che non specifichi un nome di dominio (ad esempio, "myDomain:connectionName"). Utilizzare la stessa stringa del metodo connect(connectionName).
Se si implementa la comunicazione solo tra file SWF di domini diversi e si specifica una stringa per connectionName che inizia con un carattere di sottolineatura (_), si rende il file SWF con l'oggetto LocalConnection ricevente più portabile tra i domini. Di seguito sono illustrati i due casi possibili:
connectionName non inizia con un carattere di sottolineatura (_), viene aggiunto un prefisso composto dal superdominio e da un segno di due punti (ad esempio, "myDomain:connectionName"). Benché questo assicuri che la connessione non entri in conflitto con le connessioni con lo stesso nome di altri domini, tutti gli oggetti LocalConnection mittenti devono specificare questo superdominio (ad esempio, "myDomain:connectionName"). Se il file SWF con l'oggetto LocalConnection ricevente viene spostato in un altro dominio, il lettore modifica il prefisso per rispecchiare il nuovo superdominio (ad esempio, "anotherDomain:connectionName"). Tutti gli oggetti LocalConnection mittenti devono quindi essere modificati manualmente in modo da puntare al nuovo superdominio.connectionName inizia con un carattere di sottolineatura (ad esempio, "_connectionName"), non viene aggiunto alcun prefisso alla stringa. Questo significa che gli oggetti LocalConnection riceventi e mittenti utilizzano stringhe identiche per connectionName. Se l'oggetto ricevente utilizza allowDomain() per specificare che vengano accettate le connessioni da qualunque dominio, il file SWF con l'oggetto LocalConnection ricevente può essere spostato in un altro dominio senza modificare alcun oggetto LocalConnection mittente.Per ulteriori informazioni, vedere la discussione nella panoramica delle classi, la discussione su connectionName in send() e le sezioni relative a allowDomain() e domain.
Nota: il carattere di due punti viene utilizzato come carattere speciale per separare il superdominio dalla stringa connectionName. Se una stringa per connectionName contiene un punto e virgola, non è valida.
Quando si utilizza questo metodo, considerare il modello di sicurezza di Flash Player. Per impostazione predefinita, un oggetto LocalConnection è associato alla sandbox del file SWF che l'ha creato e le chiamate su più domini agli oggetti LocalConnection non sono consentite, a meno che non sia stato chiamato il metodo LocalConnection.allowDomain() nel file SWF ricevente. È possibile impedire che un file SWF utilizzi questo metodo impostando il parametro allowNetworking dei tag object ed embed nella pagina HTML che include il contenuto SWF.
Per ulteriori informazioni, vedere i seguenti riferimenti:
Parametri
connectionName:String — Una stringa che corrisponde al nome di connessione specificato nel comando send() che desidera comunicare con l'oggetto LocalConnection ricevente.
|
TypeError — Il valore passato al parametro connectionName deve essere diverso da null.
|
|
ArgumentError — Questo errore può verificarsi per tre motivi: 1) Il valore di stringa passato al parametro connectionName era nullo. Passare un valore diverso da null. 2) Il valore passato al parametro connectionName conteneva un segno di due punti (:). Il segno di due punti viene utilizzato come carattere speciale per separare il superdominio dalla stringaconnectionName nel metodo send() non nel metodo connect(). 3) L'istanza LocalConnection è già connessa.
|
Vedere anche
| send | () | metodo |
public function send(connectionName:String, methodName:String, ... arguments):void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Richiama il metodo di nome methodName su una connessione aperta con il metodo connect(connectionName) (l'oggetto LocalConnection ricevente). L'oggetto utilizzato con questo comando viene definito oggetto LocalConnection mittente. I file SWF che contengono gli oggetti mittenti e riceventi devono essere in esecuzione sullo stesso computer client.
Esiste un limite di 40 kilobyte alla quantità di dati che è possibile passare come parametri a questo comando. Se send() restituisce ArgumentError ma la sintassi è corretta, provare a dividere le richieste send() in più comandi, ciascuno con meno di 40 KB di dati.
Come discusso nella sezione relativa a connect(), il superdominio corrente viene aggiunto a connectionName per impostazione predefinita. Se si implementa la comunicazione tra domini diversi, definire connectionName negli oggetti LocalConnection sia mittenti che riceventi in modo che a connectionName non venga aggiunto il superdominio corrente. È possibile ottenere questo risultato in uno dei due modi seguenti:
connectionName negli oggetti LocalConnection sia mittenti che riceventi. Nel file SWF che contiene l'oggetto ricevente, utilizzare LocalConnection.allowDomain() per specificare che vengano accettate le connessioni da qualunque dominio. Questa implementazione consente di memorizzare i file mittenti e riceventi di qualunque dominio.connectionName nell'oggetto LocalConnection mittente: ad esempio, myDomain.com:myConnectionName. Nell'oggetto ricevente, utilizzare LocalConnection.allowDomain() per specificare che vengano accettate le connessioni provenienti dal superdominio specificato (in questo caso, myDomain.com) oppure quelle provenienti da qualsiasi dominio.Nota: non è possibile specificare un superdominio in connectionName nell'oggetto LocalConnection ricevente; è possibile farlo solo nell'oggetto LocalConnection mittente.
Quando si utilizza questo metodo, considerare il modello di sicurezza di Flash Player. Per impostazione predefinita, un oggetto LocalConnection è associato alla sandbox del file SWF che l'ha creato e le chiamate su più domini agli oggetti LocalConnection non sono consentite, a meno che non sia stato chiamato il metodo LocalConnection.allowDomain() nel file SWF ricevente. È possibile impedire che un file SWF utilizzi questo metodo impostando il parametro allowNetworking dei tag object ed embed nella pagina HTML che include il contenuto SWF.
Per ulteriori informazioni, vedere i seguenti riferimenti:
Parametri
connectionName:String — Corrisponde al nome di connessione specificato nel comando connect() che desidera comunicare con l'oggetto LocalConnection mittente.
|
|
methodName:String — Il nome del metodo da richiamare nell'oggetto LocalConnection ricevente. I seguenti nomi di metodo provocano un errore del comando: send, connect, close, allowDomain, allowInsecureDomain, client e domain.
|
|
... arguments — Gli altri argomenti opzionali da passare al metodo specificato.
|
securityError: — LocalConnection.send() ha tentato di comunicare con un file SWF da una funzione di sicurezza sandbox a cui il codice chiamante non ha accesso. Questo inconveniente può essere risolto nell'implementazione di LocalConnection.allowDomain() del ricevente. |
|
status: — Se il valore della proprietà level è "status", la chiamata è riuscita; se il valore è "error", la chiamata non è riuscita. La chiamata può non riuscire se il file SWF ricevente rifiuta la connessione. |
TypeError — Il valore di connectionName o methodName è null. Passare dei valori diversi da null per questi parametri.
|
|
ArgumentError — Questo errore può verificarsi per uno dei seguenti motivi: 1) Il valore di connectionName o methodName è una stringa vuota. Passare delle stringhe valide per questi parametri. 2) Il metodo specificato in methodName è limitato. 3) Il messaggio serializzato che si sta inviando è troppo grande (superiore a 40 kilobyte).
|
Vedere anche
| asyncError | Evento |
flash.events.AsyncErrorEvent
flash.events.AsyncErrorEvent.ASYNC_ERROR
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato quando viene generata un'eccezione in modo asincrono, cioè da un codice asincrono nativo.
La costanteAsyncErrorEvent.ASYNC_ERROR definisce il valore della proprietà type di un oggetto evento asyncError.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto interessato da un errore di funzionamento di rete. |
error | L'errore che ha attivato l'evento. |
| securityError | Evento |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato se una chiamata a LocalConnection.send() tenta di inviare dati a una funzione di sicurezza sandbox diversa.
SecurityErrorEvent.SECURITY_ERROR definisce il valore della proprietà type di un oggetto evento securityError.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto di rete che riporta l'errore di sicurezza. |
text | Testo da visualizzare come messaggio di errore. |
Vedere anche
| status | Evento |
flash.events.StatusEvent
flash.events.StatusEvent.STATUS
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato quando un oggetto LocalConnection segnala il proprio stato. Se LocalConnection.send() riesce, nell'oggetto evento status il valore della proprietà level è "status"; se la chiamata non riesce, la proprietà level è "error". Se il file SWF ricevente rifiuta la connessione, la chiamata può fallire senza che venga emessa una notifica al file SWF mittente.
type di un oggetto evento status.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
code | Una descrizione dello stato dell'oggetto. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
level | La categoria del messaggio, ad esempio "status", "warning" o "error". |
target | L'oggetto che riporta il proprio stato. |
Vedere anche
Nel file SWF LocalConnectionSenderExample viene creata un'istanza LocalConnection e, quando si preme il pulsante, il metodo call() viene utilizzato per chiamare il metodo lcHandler nel file SWF con il nome di connessione "myConnection", passando il contenuto di TextField come parametro.
Nel file SWF LocalConnectionReceiverExample, viene creata un'istanza LocalConnection e viene chiamato il metodo connect() per designare questo file SWF come destinatario dei messaggi che sono indirizzati alla connessione di nome "myConnection". Inoltre, questa classe include un metodo pubblico di nome lcHandler(); questo metodo è quello che viene chiamato dal file SWF LocalConnectionSenderExample. Quando viene chiamato, il testo che viene passato come parametro viene aggiunto a TextField sullo stage.
Nota: per provare l'esempio, entrambi i file SWF devono essere caricati contemporaneamente sullo stesso computer.
// 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);
}
}
}
Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti
Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/flash/net/LocalConnection.html