Configurer sa connexion rtmp via fichier externe
Par Gauthier le mercredi, mars 10 2010, 08:49 - RTMPConnection API - Lien permanent
Nous allons voir ici comment configurer sa connexion depuis un fichier externe en xml. Ceci peut être pratique si par exemple vous devez créer des connexions à la volé depuis une base de donnée grâce a du remoting.
XML
<config> <ip>ip du server</ip> <port>pour du server</port> <protocol>protocole de la connexion</protocol> <application>nom de l'application</application> <maxAttempt>nombre de reconnexion</maxAttempt> <delay>mon delais entre chaque reconnexion (en seconde)</delay> <devKey>ma cle de dev</devKey> <login>mon login d'aministrateur</login> <password>mon password d'administrateur</password> </config>
UTILISATION pour charger un fichier de configuration rien de plus simple, il vous suffit d'indiquer quel est le type de de configuration (xml, json... le xml est le format par défaut) et de charger le fichier dans votre RTMPConnection comme ci dessous :
Actionscript
import gauthier.net.rtmp.events.RTMPEvent; import gauthier.net.rtmp.RTMPConnection; //import gauthier.net.rtmp.config.RTMPConfigType; import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.Event; private var __nc:RTMPConnection; private function init():void{ __nc= new RTMPConnection(); //__nc.configType = RTMPConfigType.JSON; si mon fichier de config était de type json __nc.addEventListener(RTMPEvent.SUCCESS, onSuccess); __nc.addEventListener(RTMPEvent.FAILED, onFailed); __nc.addEventListener(RTMPEvent.REJECTED, onReject); loadConfiguration(); } ///ici je lance le chargement private function loadConfiguration():void{ var uld:URLLoader= new URLLoader() uld.addEventListener(Event.COMPLETE, onComplete); uld.load(new URLRequest("myconfig.xml")); } ///une fois le fichier chargé je l'envois a ma connexion et je me connect private function onComplete(e:Event):void{ __nc.configuration = (e.target as URLLoader).data; __nc.connection(); } private function onConnect(e:RTMPEvent):void{ trace("yeahhh je suis connecté"); } private function onFailed(e:RTMPEvent):void{ trace("arf, j'ai du me planter quelque part"); }