Caricamento di dati

I file SWF possono caricare dati da server in ActionScript e inviare dati da ActionScript ai server. Il caricamento dei dati è un'operazione differente dal caricamento di file multimediali, in quanto le informazioni caricate vengono direttamente visualizzate in ActionScript, anziché essere riprodotte come file multimediali. Generalmente, i file SWF possono caricare dati dai propri domini. Tuttavia, essi richiedono file di criteri dei domini per caricare dati da altri domini.

Sezioni

Uso di URLLoader e URLStream
Connessione a socket
Invio di dati
Caricamento e scaricamento di file

Uso di URLLoader e URLStream

È possibile caricare dati, quali file XML o file di testo. I metodi load() delle classi URLLoader e URLStream sono governati da autorizzazioni di file di criteri dei domini.

Se si usa il metodo load() per caricare contenuto da un dominio diverso da quello del file SWF che chiama il metodo, Flash Player verifica la presenza di un file di criteri dei domini sul server delle risorse caricate. Se il file di criteri dei domini è presente e garantisce l'accesso al dominio del file SWF caricante, è possibile procedere al caricamento dei dati.

Connessione a socket

Per impostazione predefinita, l'accesso a socket e socket XML appartenenti a domini differenti non è consentito. È inoltre disabilitato, per impostazione predefinita, l'accesso a connessioni socket dello stesso dominio del file SWF su porte inferiori a 1024. Per consentire l'accesso a tali porte è necessario gestire un file di criteri dei domini da una delle seguenti posizioni:

Se si gestisce il file di criteri dei domini dalla stessa porta della connessione socket principale, o da una porta differente, le porte autorizzate vengono enumerate mediante l'attributo to-ports nel file di criteri dei domini, come illustrato nell'esempio seguente:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy 
SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <!-- Policy file for xmlsocket://socks.mysite.com --> <cross-domain-policy> <allow-access-from domain="*" to-ports="507" /> <allow-access-from domain="*.example.com" to-ports="507,516" /> <allow-access-from domain="*.example.org" to-ports="516-523" /> <allow-access-from domain="adobe.com" to-ports="507,516-523" /> <allow-access-from domain="192.0.34.166" to-ports="*" /> </cross-domain-policy>

Per recuperare un file di criteri socket dalla stessa porta di una connessione socket principale, è sufficiente chiamare il metodo Socket.connect() o XMLSocket.connect() e, se il dominio specificato è diverso da quello del file SWF chiamante, Flash Player tenterà automaticamente di recuperare un file di criteri dalla stessa porta della connessione principale alla quale si sta tentando di accedere. Per recuperare un file di criteri socket da una porta differente sullo stesso server della connessione principale, chiamare il metodo Security.loadPolicyFile() con la sintassi speciale "xmlsocket", come illustrato di seguito:

Security.loadPolicyFile("xmlsocket://server.com:2525"); 

Chiamare il metodo Security.loadPolicyFile() prima del metodo Socket.connect() o XMLSocket.connect(). Flash Player attenderà fino al completamento della richiesta di recupero del file di criteri prima di acconsentire o meno l'accesso alla connessione principale.

Se si implementa un server socket ed è necessario fornire un file di criteri socket, decidere se fornire il file di criteri utilizzando la stessa porta che accetta connessioni principali o un'altra porta. In entrambi i casi, il server dovrà attendere la prima trasmissione dal client prima di decidere se inviare un file di criteri o impostare una connessione principale. Quando Flash Player richiede un file di criteri, viene sempre trasmessa la seguente stringa non appena si stabilisce una connessione:

<policy-file-request/>

Quando il server riceve la stringa, il file di criteri può essere trasmesso. Non è possibile riutilizzare la stessa connessione per la richiesta di un file di criteri e per la connessione principale; la connessione deve essere chiusa dopo la trasmissione del file di criteri. In caso contrario, Flash Player chiude la connessione per la trasmissione del file di criteri prima di riconnettersi per l'impostazione della connessione principale.

Per ulteriori informazioni, vedere File dei criteri socket.

Invio di dati

L'invio di dati si verifica quando il codice ActionScript invia dati da un file SWF a un server o a una risorsa. L'invio di dati è sempre consentito per file SWF di domini della rete. Un file SWF locale può inviare dati a indirizzi di rete solo se si trova nella sandbox locale affidabile o locale con rete. Per ulteriori informazioni, vedere Funzioni di sicurezza sandbox locali.

È possibile utilizzare la funzione flash.net.sendToURL() per inviare dati a un URL. Vi sono anche altri metodi per inviare richieste a URL. Tra essi vi sono metodi di caricamento, quali Loader.load() e Sound.load() e metodi di caricamento dati, quali URLLoader.load() e URLStream.load().

Caricamento e scaricamento di file

Il metodo FileReference.upload() avvia il caricamento di un file selezionato da un utente su un server remoto. È necessario chiamare il metodo FileReference.browse() o FileReferenceList.browse() prima di chiamare il metodo FileReference.upload().

La chiamata al metodo FileReference.download() apre una finestra di dialogo nella quale è possibile scaricare un file da un server remoto.

NOTA

 

Sui server che richiedono l'autenticazione dell'utente, solo i file SWF in esecuzione in un browser (ovvero quelli che utilizzano il plug-in per il browser o il controllo ActiveX) possono fornire una finestra di dialogo per richiedere all'utente di immettere un nome utente e una password per l'autenticazione, e solo per gli scaricamenti. Flash Player non consente il caricamento su server che richiedono l'autenticazione utente.

Le operazioni di caricamento e scaricamento non sono consentite se il file SWF che effettua la chiamata si trova in nella sandbox locale con file system.

Per impostazione predefinita, un file SWF non può avviare un caricamento su o uno scaricamento da un server diverso dal proprio. Un file SWF può eseguire operazioni di caricamento su o scaricamento da server differenti, se tale server contiene un file di criteri dei domini in grado di concedere l'autorizzazione di accesso al dominio del file SWF richiedente.


Flash CS3

 

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/main/00000356.html