2010-09-22 7 views
0

Ici il y a une brève explication de la façon dont nous pouvons « simuler » le système de RSL utilisé dans Flex pur AS3: loading an RSL without using flex?signé RSL sans Flex (projet pur AS3)

Mais qu'en est-RSL signé? pouvons-nous utiliser cette technique pour charger des fichiers SWZ aussi? seront-ils mis en cache par le joueur? comment pouvons-nous "réutiliser" une SWZ mise en cache par le lecteur dans un projet AS3 pur?

Merci! Enrique.

+0

Je pensais que Adobe est le seul qui peut créer signé RSL, mis en cache par le joueur. Je suppose qu'il n'y a rien que vous pouvez faire pour forcer un fichier SWZ à charger ou mettre en cache. Lorsque l'application est en cours de création Les API de lecteurs cachés sont référencées pour gérer les problèmes de RSL. – JeffryHouser

+0

oui, mais je ne veux pas créer RSL signé (SWZ), je veux les utiliser. Je veux utiliser le TLF (signé par Adobe) mais sans Flex. Sans Flex, nous ne pouvons pas utiliser RSL, nous devons faire quelque chose comme la réponse à la question ci-dessus, c'est OK pour notre propre bibliothèque, mais qu'en est-il de SWZ? Je veux utiliser le cache Flash Player. – Enrique

Répondre

2

OK, c'est la solution (non encore testé, mais je suis sûr qu'il fonctionne)
Exemple de l'AS3 d'Adobe Référence:
// URLRequest, propriété digest:

var myURLReq:URLRequest = new URLRequest(); 
myURLReq.url = "http://yourdomain/users/jdoe/test01/_rsc/Automated/AssetCaching_rsc/test01/rsl.swz"; 
myURLReq.digest = "3B0AA28C7A990385E044D80F5637FB036317BB41E044D80F5637FB036317BB41"; 
var myURLLoader:URLLoader = new URLLoader(); 
myURLLoader.dataFormat = URLLoaderDataFormat.BINARY; 
myURLLoader.addEventListener("complete", onC); 

myURLLoad.load(myURLReq); 

function onC(e) { 
    var someLoader:Loader = new Loader(); 
    addChild(someLoader); 
    someLoader.loadBytes((ByteArray)(myURLLoad.data)); 
} 

Ainsi, nous pouvons charger un RSL signé (.SWZ) comme n'importe quel autre SWF, MAIS! nous devons utiliser URLLoader, pas Loader, et fournir la propriété digest. Ensuite, nous utilisons Loader pour charger le byteArray à partir de URLLoader. La signature SWZ est vérifiée en interne par le joueur, et si elle est signée par adobe, elle sera mise en cache par le joueur, nous n'avons rien à faire. Je pense que Flash Player vérifie automatiquement, et avant de charger un SWZ, si ce SWZ est déjà mis en cache par le lecteur.

C'est tout ce que je pense.

si vous voulez voir plus de détails, consultez ma réponse FlexCoders:
http://tech.groups.yahoo.com/group/flexcoders/message/159010

2

Les fichiers SWC signés (c'est-à-dire SWZ) sont chargés dans le cache du lecteur flash plutôt que dans le cache du navigateur. Par conséquent, seul un code de confiance plus élevé est autorisé, qui provient uniquement d'Adobe pour le moment.

Pour le préchargement? La seule façon que je connaisse n'est pas vraiment un moyen, mais disons que vous avez une page d'information ou une page de connexion avant votre application Flex, chargez les RSL lorsque l'utilisateur peut lire quelque chose en incluant un fichier SWF léger qui utilise les mêmes RSL que votre application principale. C'est une triche, mais vu utilisé quand la bande passante est un minimum et que vous voulez obtenir coup pour l'argent quand une application se charge d'abord.

Préchargement de toute autre manière en dehors du lecteur, je pourrais voir des problèmes de sécurité avec.

+0

Je n'utilise pas Flex, c'est un pur projet AS3, et je veux utiliser SWZ signé par Adobe, mais sans Flex, parce que je veux pouvoir utiliser le cache de Flash Player. Peut-être que je ne l'ai pas très bien expliqué, désolé. – Enrique

+0

Substitue Flex pour le projet ActionScript, peu importe. Je suppose que vous utilisez Flash Builder, créez un projet, ajoutez le SWZ nécessaire à votre chemin de bibliothèque. –

+0

http://www.mail-archive.com/[email protected]/msg126447.html –

Questions connexes