Carga de datos

Los archivos SWF pueden cargar datos de servidores en ActionScript y enviar datos de ActionScript a servidores. La carga de datos es una operación distinta de la carga de medios, ya que la información cargada aparece directamente en ActionScript en lugar de mostrarse como medios. Por lo general, los archivos SWF pueden cargar datos de sus propios dominios. Sin embargo, normalmente necesitan archivos de política entre dominios para poder cargar datos de otros dominios.

Subtemas

Utilización de URLLoader y URLStream
Conexión a sockets
Envío de datos
Carga y descarga de archivos

Utilización de URLLoader y URLStream

Se pueden cargar datos como, por ejemplo, un archivo XML o un archivo de texto. Los métodos load() de las clases URLLoader y URLStream se rigen por los permisos del archivo de política entre dominios.

Si se utiliza el método load() para cargar contenido de un dominio ajeno al del archivo SWF que realiza la llamada al método, Flash Player comprueba si hay un archivo de política entre dominios en el servidor de los activos cargados. Si hay un archivo de política entre dominios y concede acceso al dominio del archivo SWF que realiza la carga, se pueden cargar los datos.

Conexión a sockets

El acceso entre dominios a las conexiones de socket y de socket XML está desactivado de forma predeterminada. También está desactivado de forma predeterminada el acceso a las conexiones de socket en el mismo dominio que el archivo SWF, en puertos cuyo número sea inferior a 1024. Para permitir el acceso a dichos puertos, se debe proporcionar un archivo de política entre dominios desde cualquiera de las ubicaciones siguientes:

Si se proporciona el archivo de política entre dominios desde el mismo puerto que la conexión de socket principal o desde un puerto distinto, se deben enumerar los puertos permitidos mediante el atributo to-ports en el archivo de política entre dominios, como se muestra en el siguiente ejemplo:

<?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>

Para recuperar un archivo de política de socket del mismo puerto que la conexión de socket principal, simplemente llame al método Socket.connect() o XMLSocket.connect() y, si el dominio especificado no coincide con el dominio del archivo SWF que realiza la llamada, Flash Player intenta automáticamente recuperar un archivo de política del puerto correspondiente a la conexión principal que se intenta establecer. Para recuperar un archivo de política de socket de otro puerto distinto en el mismo servidor que la conexión principal, llame al método Security.loadPolicyFile() con la sintaxis especial "xmlsocket", como en el siguiente ejemplo:

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

Llame al método Security.loadPolicyFile() antes de llamar al método Socket.connect() o XMLSocket.connect(). Flash Player espera entonces hasta completar la solicitud del archivo de política antes de decidir si permite o no la conexión principal.

Si se implementa un servidor de socket y se necesita proporcionar un archivo de política de socket, se debe decidir entre proporcionar el archivo de política a través del mismo puerto que acepta conexiones principales o utilizar otro puerto. En cualquier caso, el servidor debe esperar la primera transmisión del cliente para poder decidir si envía un archivo de política o configura una conexión principal. Cuando Flash Player solicita un archivo de política, siempre transmite la siguiente cadena en cuanto se establece una conexión:

<policy-file-request/>

Cuando el servidor recibe esta cadena, puede transmitir el archivo de política. No cabe esperar que se pueda reutilizar la misma conexión para una solicitud de archivo de política y una conexión principal; debe cerrarse la conexión después de transmitir el archivo de política. De lo contrario, Flash Player cierra la conexión del archivo de política antes de volver a conectar para configurar la conexión principal.

Para más información, consulte Archivos de política de socket.

Envío de datos

El envío de datos se produce cuando el código ActionScript de un archivo SWF envía datos a un servidor o recurso. El envío de datos siempre se permite en archivos SWF del dominio de red. Un archivo SWF local puede enviar datos a direcciones de la red únicamente si se encuentra en el entorno limitado local de confianza o en el entorno limitado local con acceso a la red. Para más información, consulte Entornos limitados locales.

Se puede utilizar la función flash.net.sendToURL() para enviar datos a un URL. Otros métodos también envían solicitudes a URL. Algunos de estos métodos son los métodos de carga como Loader.load() y Sound.load(), y los métodos de carga de datos como URLLoader.load() y URLStream.load().

Carga y descarga de archivos

El método FileReference.upload() inicia la carga de un archivo seleccionado por un usuario en un servidor remoto. Se debe llamar al método FileReference.browse() o FileReferenceList.browse() antes de llamar al método FileReference.upload().

Al llamar al método FileReference.download(), se abre un cuadro de diálogo en el que el usuario puede descargar un archivo desde un servidor remoto.

NOTA

 

Si el servidor requiere autenticación del usuario, sólo los archivos SWF que se ejecutan en un navegador, es decir, que utilizan el plug-in de navegador o controles ActiveX, pueden mostrar un cuadro de diálogo para pedir al usuario un nombre de usuario y una contraseña para la autenticación, y sólo para las descargas. Flash Player no permite realizar cargas en servidores que requieran autenticación de usuario.

Las cargas y descargas no se permiten si el archivo SWF que realiza la llamada se encuentra en el entorno limitado local con sistema de archivos.

De forma predeterminada, un archivo SWF no puede realizar cargas ni descargas en un servidor ajeno. Un archivo SWF puede realizar cargas y descargas en otro servidor, si dicho servidor proporciona un archivo de política entre dominios que conceda permiso al dominio del archivo SWF que realiza la llamada.


Flash CS3

 

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