« Audio Video Streamer 2.0 | Inicio | estadÌsticas en flashcom y 2 »

EstadÌsticas de tus aplicaciones en flashcom

øcomo obtener estadÌsticas de tus aplicaciones ? existen varias formas, una es usando flash remoting con coldfusion, otra m·s sencilla es con un Shared Object persistente. Ve·mos este caso

application.onAppStart=function(){ //obtener enlace al SO my_so. Creamos el SO de forma persistente //Lo creamos en application.onAppStart , asÌ sÛlo se ejecutar· cuando se //inicie por primera vez la aplicaciÛn my_so=SharedObject.get("el_so",true); //Creamos un objeto con los datos a almacenar. Cuando se inicia por primera //vez la aplicaciÛn no ha habido transferencia por lo que iniciamos los datos a //cero mis_stats={bytes_in:0, bytes_out:0, msg_in:0, msg_out:0, msg_dropped:0, total_connects:0, total_disconnects:0}; //A diferencia de lado cliente, en lado servidor a los SO accedemos con //getProperty y setProperty my_so.setProperty("appStats", mis_stats); }; application.onConnect=function(newClient){ application.acceptConnection(newClient); trace("nuevo usuario conectado"); }; application.onDisconnect=function(oldClient){ trace("Usuario desconectado"); stats = application.getStats(); trace("Total bytes received: " + stats.bytes_in); trace("Total bytes sent : " + stats.bytes_out); trace("RTMP messages received : " + stats.msg_in); trace("RTMP messages sent : " + stats.msg_out); trace("RTMP messages dropped : " + stats.msg_dropped); trace("Total clients connected : " + stats.total_connects); trace("Total clients disconnected : " + stats.total_disconnects); //Paso los datos al so my_so.setProperty("appStats", stats); //Como los datos son importantes, forzamos al grabado a disco del SO //persistente my_so.flush(); //Le pido que me muestre los datos por pantalla ( comprobaciÛn de que todo //saliÛ bien) //obtengo los datos del so var the_stats=my_so.getProperty("appStats"); //los saco por pantalla trace("ComprobaciÛn de los datos"); for(var prop in the_stats){ trace(prop+" : "+the_stats[prop]); } Esto tiene un problema, y es que application.getStats siempe devuelve el total de las estadÌsticas desde que se inciÛ el sitio y si por alg˙n casual debemos recargar el sitio ( reload ) este histÛrico se vuelve a cero. Para solucionar esto, usamos client.getStats, pero eso ser· en otro mensaje que tengo que probarlo :D