Hola!
Soy medio nuevo en Flash y me gustaría saber si alguien podría facilitarme el código necesario para crear un SharedObject en red5 y como acceder a él posteriormente.
He buscado en cantidad de páginas pero no muestran el código de ambas partes (cliente y servidor). Esto es lo que tengo hasta ahora:
Server-side:
[I]public class Application extends ApplicationAdapter
{
private static final Log log = LogFactory.getLog( Application.class );
private final int MAXUSERS = 4;
public boolean appStart (IScope app){
if (!super.roomStart(app))
return false;
ISharedObject so =getSharedObject(Red5.getConnectionLocal().getScop e(),"users",true);
if(so==null)
createSharedObject(Red5.getConnectionLocal().getSc ope(), "users", true);
so=getSharedObject(Red5.getConnectionLocal().getSc ope(), "users");
String[] list=new String[MAXUSERS];
for(int i=0;i<MAXUSERS;i++)
list=new String("");
so.setAttribute("list",list);
return true;
}
La idea es crear un SharedObject que contenga un array de String de 4 posiciones
Client-side:
[I]var nc:NetConnection = new NetConnection();
var so:SharedObject=new SharedObject();
var server:String = "rtmp://localhost/oflaDemo";
nc.connect(server);
nc.onStatus = function(info){
if (info.code == "NetConnection.Connect.Success")
{
so.connect(nc);
SharedObject.getRemote("users",server,true);
var miArray:Array = so.data.lista;
var asignado:Boolean=false;
for(var i:Number=0;i<4;i++){
if(!asignado && (miArray[i]==undefined || miArray[i]==null)){
asignado=true;
miArray="pepe";
}
}
so.data.lista=miArray;
me he saltado algunas partes del código, pero lo único que quiero hacer es recoger el sharedObject y meter una cadena en una de las posiciones del array que contenía. Por supuesto mi código no funciona, :D:D, simplemente conecta bien con la aplicación red5, pero el sharedObject no aparece por ninguna parte (cuando le meto un dato y lo muestro con un "trace" me dice "undefined")
Podíais orientarme un poco??
Gracias y un saludo!
Paco