« 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