Foros del Web » Creando para Internet » Flash y Actionscript »

Problema con Red5 y AS3

Estas en el tema de Problema con Red5 y AS3 en el foro de Flash y Actionscript en Foros del Web. Hola a todos, espero que me puedan ayudar con mi problema. Estoy trabajando con Flash CS4, AS3 y es para una aplicación en AIR. La ...
  #1 (permalink)  
Antiguo 25/11/2010, 02:20
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 13 años, 9 meses
Puntos: 8
Problema con Red5 y AS3

Hola a todos, espero que me puedan ayudar con mi problema.
Estoy trabajando con Flash CS4, AS3 y es para una aplicación en AIR.

La cuestión es que necesito hacer con RED5 un chat, esto en AS2 no sería problema ya que hay un montón de ejemplos. Pero al ser una aplicación AIR, tengo que hacerla en AS3.
El problema surge en la siguiente instrucción:
Código:
so["newMessage"] = Delegate.create(this, newMessageHandler);
Ya que me dice: "Error #1056: Cannot create property newMessage on flash.net.SharedObject"

Alguien puede decirme como hacer un chat en AS3 y RED5? o donde hay algun ejemplo/tutorial?


Muchas gracias
Pimager
  #2 (permalink)  
Antiguo 26/11/2010, 04:48
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Problema con Red5 y AS3

Una cosa más, que no sé si es posible. Tengo un chat con Red5 desarrollado en AS2, puedo hacer que se comunique con otro chat desarrolado en AS3?

En AS2 hago lo siguiente:

Código:
import org.red5.utils.Delegate; 
import com.gskinner.events.GDispatcher; 
 
class GlobalObject { 
   public function GlobalObject() { 
     super(); 
     so = SharedObject.getRemote("3", "rtmp://localhost:1935/fitcDemo", false);  
     so["newMessage"] = Delegate.create(this, newMessageHandler); 
     so.onSync = Delegate.create(this, onStatus); 
   }    
   public function sendMessage(p_message:String):Void{ 
     so.send("newMessage", p_message); 
   } 
   private function controlMessageHandler(p_message):Void{ 
     chat_txt.text += p_message; 
   } 
   private function onStatus(evtObj):Void{ 
      // an update has been recieved, send out to the concerned parties 
   } 
}

Y en el Chat AS3, tal y como me muestra el ejemplo del siguiente link: http://dev.binertia.com/chat.mxml

Código:
    private function doconnect():void { 
      if(!nc){ 
   nc = new NetConnection(); 
   // set the encoding to AMF0 - still waiting for AMF3 to be implemented on Red5 
   nc.objectEncoding = ObjectEncoding.AMF0; 
   nc.addEventListener(NetStatusEvent.NET_STATUS,onConnectHandler); 
   nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR,onConnectErrorHandler); 
   nc.client = this; 
   nc.connect("rtmp://localhost:1935/fitcDemo");                
   con_btn.label = "Exit"; 
      } 
     } 
     private function sendText():void { 
         so.setProperty("newMessage", msj_txt.text); 
     } 
     private function newMessageHandler(event:SyncEvent):void { 
       if(so.data[chatname] != undefined) { 
   chat_txt.text += so.data["newMessage"]+"\n"; 
       } 
       msj_txt.text = ""; 
      } 
     private function onConnectHandler(event:Event):void { 
       connected = nc.connected;             
       so = SharedObject.getRemote("3", "rtmp://localhost:1935/fitcDemo", false); 
       so.addEventListener(SyncEvent.SYNC,newMessageHandler); 
       so.client = this; 
       so.connect(nc); 
    }
El tema es que cuando escribo algo en el chat hecho en AS2, veo lo escrito en ese chat, pero no en el hecho en AS3, y viceversa. No sé si me estoy dejando algo, o alguna referencia está mal puesta, o no se pueden comunicar (aunque no lo creo).
Si alguien ppuede hecharme un cable se lo agradeceré.

Muchas gracias
Palacio

pd.:Creo que el trozo de código que he adjuntado es suficiente, si alguien cree que necesita alguna función más que lo diga y se la adjunto sin problemas.

Etiquetas: air, as3, chat, red
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:10.