¿Ya? , bueno empezemos.
Lo primero que siempre necesitamos tener instalado el FMS , la pueden descargar gratis desde la pagina y si desean pagar la licencia tambien lo miran ustedes , pero gracias a los amigos de Adobe que sacaron una licencia developer asi que no hay problemas pero claro sirve para trabajar en proyectos pequeños.
He usado Flash para poder escribir AS3, ustedes pueden utilizar FLEX si desean.
¡Vamos ya tio apurate!.
Debemos empezar creando la logica Servidor + Cliente, en este caso nuestra aplicacion detectara cuando un nuevo usuario se conecte y mostrara su nombre a los demas. El SharedObject es un objeto compartido y su evento SyncEvent.SYNC, eso quiere decir que cada vez que el SharedObject cambie nuestro Cliente AS3 lo detectara.
Creando la aplicacion: main.asc // Servidor
Para crear una aplicacion nos dirijimos a C:\Program Files\Adobe\Flash Media Server 3.5\applications y creamos una nueva carpeta, por ejemplo : holamundo , y dentro de ella guardamos el main.asc
Código ActionScript :
application.onAppStart = function(){ application.Usuarios = SharedObject.get("Usuarios",false); this.welc="Se acaba de conectar "; } application.onConnect = function(client, nombre){ client.nombre = this.welc+""+nombre; this.Usuarios.setProperty("quienes", client); this.acceptConnection(client); } application.onDisconnect = function(client){ this.disconnect(client); }
Creando el codigo AS3: // Cliente
Código ActionScript :
package { import flash.events.*; import flash.net.*; import flash.events.NetStatusEvent; import flash.display.Sprite; import flash.net.NetStream; public class VerHola extends Sprite { public var nc:NetConnection; public var getUsuario:SharedObject; public function VerHola() { BtnGo.addEventListener(MouseEvent.CLICK, init); } public function init(e:MouseEvent):void { //Creamos el objeto de conexion nc= new NetConnection(); nc.objectEncoding=ObjectEncoding.AMF0; //Añadimos un evento de status nc.addEventListener(NetStatusEvent.NET_STATUS, status_); nc.client=this; nc.connect("rtmp://localhost:1935/holamundo", ""+yourName.text); } public function status_(event:NetStatusEvent):void { switch ( event.info.code ) { case "NetConnection.Connect.Success" : sincronizar(); break; case "NetConnection.Connect.Failed" : trace("Error al conectarse al servidor"); } } public function sincronizar():void { getUsuario=SharedObject.getRemote("Usuarios",nc.uri,false); //cuando el objeto cambie se llamara al metodo sincronizacionObjeto getUsuario.addEventListener(SyncEvent.SYNC, sincronizacionObjeto); getUsuario.connect(nc); } public function sincronizacionObjeto(event:SyncEvent):void { var us:Object=event.target.data;//Aqui ya vino el objecto Usuarios consoleText.htmlText=us['quienes'].nombre+"<br/>"+consoleText.text; } } }
Bueno eso es todo, pueden bajar los archivos , incluido el main.asc desde aqui: http://www.megaupload.com/?d=L4Z57B6S