| Pacchetto | flash.net |
| Classe | public class XMLSocket |
| Ereditarietà | XMLSocket EventDispatcher Object |
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Il metodo XMLSocket.connect() può connettersi solo ai numeri di porta TCP superiori o uguali a 1024. Una conseguenza di questa limitazione consiste nel fatto che anche i daemon dei server che comunicano con l'oggetto XMLSocket devono essere assegnati a numeri di porta superiori o uguali a 1024. I numeri di porta inferiori a 1024 vengono spesso utilizzati dai servizi di sistema come FTP, Telnet e HTTP e pertanto gli oggetti XMLSocket sono esclusi da queste porte per motivi di sicurezza. La restrizione dei numeri di porta riduce le possibilità di accesso inappropriato e abuso di queste risorse.
La procedura di configurazione di un server per la comunicazione con l'oggetto XMLSocket può rivelarsi un'operazione complessa. Se l'applicazione in uso non richiede l'interattività in tempo reale, utilizzare la classe URLLoader anziché la classe XMLSocket. Per utilizzare i metodi della classe XMLSocket, come prima cosa utilizzare la funzione di costruzione new XMLSocket per creare un oggetto XMLSocket.
Quando si utilizza questa classe, considerare il modello di sicurezza di Flash Player.
Per ulteriori informazioni, vedere i seguenti riferimenti:
Vedere anche
| Proprietà | Definito da | ||
|---|---|---|---|
| connected: Boolean
[sola lettura]
Indica se l'oggetto XMLSocket è correntemente connesso.
| XMLSocket | ||
![]() | constructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
| Object | |
![]() | prototype: Object
[statico]
Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
| Object | |
| Metodo | Definito da | ||
|---|---|---|---|
|
Crea un nuovo oggetto XMLSocket.
| XMLSocket | ||
![]() |
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 | |
|
Chiude la connessione specificata dall'oggetto XMLSocket.
| XMLSocket | ||
|
Stabilisce una connessione all'host Internet specificato mediante la porta TCP configurata.
| XMLSocket | ||
![]() |
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 | |
|
Converte l'oggetto XML o i dati specificati nel parametro object in una stringa e la trasmette al server, seguita da un byte zero (0).
| XMLSocket | ||
![]() |
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 il server chiude la connessione socket. | XMLSocket | |||
| Inviato dopo una chiamata riuscita al metodo XMLSocket.connect(). | XMLSocket | |||
| Inviato dopo che sono stati inviati o ricevuti dei dati raw. | XMLSocket | |||
![]() | Inviato quando Flash Player perde lo stato di attivazione del sistema operativo e sta per diventare inattivo. | EventDispatcher | ||
| Inviato quando si verifica un errore di input/output che impedisce un'operazione di invio o ricezione. | XMLSocket | |||
| Inviato se una chiamata al metodo XMLSocket.connect() tenta di connettersi a un server che si trova al di fuori della funzione di sicurezza sandbox del chiamante o a una porta con numero inferiore a 1024. | XMLSocket | |||
| connected | proprietà |
connected:Boolean [sola lettura]
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Indica se l'oggetto XMLSocket è correntemente connesso. È anche possibile verificare se la connessione è riuscita registrandosi per l'evento connect e l'evento ioError.
public function get connected():Boolean
Vedere anche
| XMLSocket | () | Funzione di costruzione |
public function XMLSocket(host:String = null, port:int = 0)
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Crea un nuovo oggetto XMLSocket. L'oggetto XMLSocket non è inizialmente connesso ad alcun server. È necessario chiamare XMLSocket.connect() per connettere l'oggetto a un server.
host:String (default = null) — Un nome di dominio DNS completo o un indirizzo IP nel formato aaa.bbb.ccc.ddd. Per connettersi al server host sul quale risiede il file SWF, è inoltre possibile specificare null. Se il file SWF che emette la chiamata viene eseguito in un browser Web, l'host deve trovarsi nello stesso dominio del file SWF.
|
|
port:int (default = 0) — Il numero della porta TCP sull'host utilizzato per stabilire una connessione. Il numero della porta deve essere superiore o uguale a 1024, a meno che non venga utilizzato un file dei criteri.
|
Vedere anche
| close | () | metodo |
public function close():void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Chiude la connessione specificata dall'oggetto XMLSocket. L'evento close viene inviato solo quando il server chiude la connessione; non viene inviato quando si chiama il metodo close().
Vedere anche
| connect | () | metodo |
public function connect(host:String, port:int):void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Stabilisce una connessione all'host Internet specificato mediante la porta TCP configurata. Per impostazione predefinita, è possibile connettersi solo alla porta 1024 o superiore, a meno che non si stia utilizzando un file dei criteri.
Se si specifica il valore null per il parametro host, l'host contattato è quello su cui risiede il file SWF che effettua la chiamata a XMLSocket.connect(). Ad esempio, se il file SWF è stato scaricato da www.adobe.com, specificare null per il parametro host equivale a immettere l'indirizzo IP di www.adobe.com.
Nei file SWF in esecuzione su una versione di Flash Player precedente alla 7, host deve trovarsi nello stesso superdominio del file SWF che effettua la chiamata. Ad esempio, un file SWF all'indirizzo www.adobe.com può inviare o ricevere le variabili da un file SWF presente in store.adobe.com poiché entrambi i file si trovano nello stesso superdominio di adobe.com.
Nei file SWF di qualunque versione eseguita in Flash Player 7 o superiore, host deve trovarsi esattamente nello stesso dominio. Ad esempio, un file SWF all'indirizzo www.adobe.com che è stato pubblicato per Flash Player 5, ma viene eseguito in Flash Player 7 o successivo, può inviare o ricevere variabili solo dai file SWF che si trovano all'indirizzo www.adobe.com. Per inviare o ricevere variabili da un dominio diverso, è possibile collocare un file dei criteri dei domini sul server su cui risiede il file SWF a cui si sta accedendo.
È 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
host:String — Un nome di dominio DNS completo o un indirizzo IP nel formato aaa.bbb.ccc.ddd. Per connettersi al server host sul quale risiede il file SWF, è inoltre possibile specificare null. Se il file SWF che emette la chiamata viene eseguito in un browser Web, l'host deve trovarsi nello stesso dominio del file SWF.
|
|
port:int — Il numero della porta TCP sull'host utilizzato per stabilire una connessione. Il numero della porta deve essere superiore o uguale a 1024, a meno che non venga utilizzato un file dei criteri.
|
securityError: — Un'operazione di connessione ha tentato di connettersi a un server che si trova al di fuori della funzione di sicurezza sandbox del chiamante e/o a una porta con numero inferiore a 1024. Entrambi i problemi possono essere risolti utilizzando un file dei criteri XMLSocket sul server. |
|
data: — Inviato quando sono stati ricevuti dei dati originari. |
|
connect: — Inviato quando รจ stata stabilita la connessione di rete. |
SecurityError — I file SWF non attendibili locali potrebbero non essere in grado di comunicare con Internet. Questo inconveniente può essere risolto riclassificando il file SWF come file locale con utilizzo in rete o come attendibile.
|
|
SecurityError — Non è possibile specificare una porta socket superiore a 65535.
|
Vedere anche
| send | () | metodo |
public function send(object:*):void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Converte l'oggetto XML o i dati specificati nel parametro object in una stringa e la trasmette al server, seguita da un byte zero (0). Se object è un oggetto XML, la stringa è la rappresentazione testuale XML dell'oggetto XML. L'operazione di invio è asincrona; restituisce immediatamente un valore, ma è possibile che i dati vengano trasmessi in un secondo momento. Il metodo XMLSocket.send() non restituisce un valore che indica se i dati sono stati trasmessi correttamente.
Se non si connette l'oggetto XMLSocket al server (mediante XMLSocket.connect()), l'operazione XMLSocket.send() non riesce.
Parametri
object:* — Un oggetto XML o altri dati da trasmettere al server.
|
IOError — L'oggetto XMLSocket non è connesso al server.
|
Vedere anche
| close | Evento |
flash.events.Event
flash.events.Event.CLOSE
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato quando il server chiude la connessione socket. L'evento close viene inviato solo quando il server chiude la connessione; non viene inviato quando si chiama il metodo XMLSocket.close().
type di un oggetto evento close.
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 la cui connessione è stata chiusa. |
| connect | Evento |
flash.events.Event
flash.events.Event.CONNECT
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato dopo una chiamata riuscita al metodo XMLSocket.connect().
type di un oggetto evento connect.
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 Socket o XMLSocket che ha stabilito una connessione di rete. |
| data | Evento |
flash.events.DataEvent
flash.events.DataEvent.DATA
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato dopo che sono stati inviati o ricevuti dei dati raw.
Definisce il valore della proprietàtype di un oggetto evento data.
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. |
data | I dati originari caricati in Flash Player. |
target | L'oggetto XMLSocket che riceve i dati. |
| ioError | Evento |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato quando si verifica un errore di input/output che impedisce un'operazione di invio o ricezione.
Definisce il valore della proprietàtype di un oggetto evento ioError.
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 interessato dall'errore di input/output. |
text | Testo da visualizzare come messaggio di errore. |
| securityError | Evento |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato se una chiamata al metodo XMLSocket.connect() tenta di connettersi a un server che si trova al di fuori della funzione di sicurezza sandbox del chiamante o di una porta con numero inferiore a 1024.
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
socket e passa socket a ConfigureListeners() (descritto di seguito), quindi chiama il metodo connect() di XMLSocket mediante il nome host "localhost" e il numero di porta 8080.configureListeners() che aggiunge i listener per ognuno degli eventi XMLSocket supportati:
closeHandler(): intercetta l'evento close che viene inviato dopo la chiusura della connessione di rete.connectHandler(): intercetta l'evento connect che viene inviato quando è stata stabilita una connessione di rete.dataHandler(): intercetta gli eventi data che vengono inviati ogni volta che XMLSocket riceve nuovi dati.progressHandler(): intercetta gli eventi progress, che vengono inviati quando è stata effettuata una chiamata a send() e mentre l'invio è in corso.securityErrorHandler(): intercetta gli eventi securityError che sarebbero inviati se si tentasse di accedere a XMLSocket con l'impostazione di sicurezza per la riproduzione locale non corretta o utilizzando una porta con numero inferiore a 1024.ioErrorHandler(): intercetta gli eventi ioError che si verificano solo se un'operazione di invio o ricezione dati non riesce.Note:
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.XMLSocket;
public class XMLSocketExample extends Sprite {
private var hostName:String = "localhost";
private var port:uint = 8080;
private var socket:XMLSocket;
public function XMLSocketExample() {
socket = new XMLSocket();
configureListeners(socket);
socket.connect(hostName, port);
}
public function send(data:Object):void {
socket.send(data);
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.CLOSE, closeHandler);
dispatcher.addEventListener(Event.CONNECT, connectHandler);
dispatcher.addEventListener(DataEvent.DATA, dataHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
}
private function closeHandler(event:Event):void {
trace("closeHandler: " + event);
}
private function connectHandler(event:Event):void {
trace("connectHandler: " + event);
}
private function dataHandler(event:DataEvent):void {
trace("dataHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
}
}
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/XMLSocket.html