Can’t you use delegate in flex?

 

-----Messaggio originale-----
Da: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Per
conto di [EMAIL PROTECTED]
Inviato: martedì 25 settembre 2007 12.50
A: Open Source Flash Mailing List
Oggetto: Re: [osflash] R: R: Rm: Client functions call from a Red5 server

 


This code works fine when the method "the_method" is defined on the
connection, 

var nc:NetConnection = new NetConnection(); 
nc.the_method = function(.....) {} 

but, if you want to call a method of a client class instance, you must keep
the 
instance on the connection, like this 

nc.MyClass["myinstance"] = myinstance;   (for example) 

this way, I can call all the public methods of this instance from the server


RTMPConnection.invoke("MyClass/myinstance/the_method", ....) 

I need to make this to migrate FMS components without changing 
their client sides. 

Regards 



África Belén Romero Fernández
Fynet Solutions
981 634  067
[EMAIL PROTECTED]
http://www.fynet.net 




 

"Matteo Lanzi" <[EMAIL PROTECTED]> 
Enviado por: [EMAIL PROTECTED] 

25/09/2007 11:56 
Por favor, responda a Open Source Flash Mailing List 

        
        Para:        "'Open Source Flash Mailing List'"
<[email protected]> 
        cc:         
        Asunto:        [osflash] R:  R:  Rm:  Client functions call from a
Red5 server




Taken from migration guide 
  
Calls to client methods 
========================== 
To call methods from your Red5 application on the client, you will first
need 
a reference to the current connection object:: 
  
    import org.red5.server.api.IConnection; 
    import org.red5.server.api.Red5; 
    import org.red5.server.api.service.IServiceCapableConnection; 
    ... 
    IConnection conn = Red5.getConnectionLocal(); 
  
If the connection implements the IServiceCapableConnection_ interface, it 
supports calling methods on the other end:: 
  
    if (conn instanceof IServiceCapableConnection) { 
        IServiceCapableConnection sc = (IServiceCapableConnection) conn; 
        sc.invoke("the_method", new Object[]{"One", 1}); 
    } 
  
  
If you need the result of the method call, you must provide a class that 
implements the IPendingServiceCallback_ interface:: 
  
    import org.red5.server.api.service.IPendingService; 
    import org.red5.server.api.service.IPendingServiceCallback; 
    
    class MyCallback implements IPendingServiceCallback { 
    
        public void resultReceived(IPendingServiceCall call) { 
            // Do something with "call.getResult()" 
        } 
    } 
  
The method call looks now like this:: 
  
    if (conn instanceof IServiceCapableConnection) { 
        IServiceCapableConnection sc = (IServiceCapableConnection) conn; 
        sc.invoke("the_method", new Object[]{"One", 1}, new MyCallback()); 
    } 
  
Of course you can implement this interface in your application and pass a 
reference to the application instance. 
  
  
Ciao 
Matteo Lanzi 
  
-----Messaggio originale-----
Da: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Per
conto di [EMAIL PROTECTED]
Inviato: martedì 25 settembre 2007 9.59
A: Open Source Flash Mailing List
Oggetto: Re: [osflash] R: Rm: Client functions call from a Red5 server 
  

Sorry, I was referring to I WAS talking about invoking client functions from
Red5.... 

África Belén Romero Fernández
Fynet Solutions
981 634  067
[EMAIL PROTECTED]
http://www.fynet.net 


  

[EMAIL PROTECTED] 
Enviado por: [EMAIL PROTECTED] 

25/09/2007 09:48 
Por favor, responda a Open Source Flash Mailing List 

        
       Para:        Open Source Flash Mailing List <[email protected]> 
       cc:         
       Asunto:        Re: [osflash] R:  Rm:  Client functions call from a
Red5 server






No, I wasn't talking about invoking client functions from Red5, 
but I think that now I know how to do it : if the client class instance that
is kept in the connection 
is named (i.e.) "FCAVPresence.stream", to invoke a method of this class you
must use : 

      RTMPConnection.invoke("FCAVPresence/stream/methodName",...) 

which is the way that FCS/FMS uses internally. 

There's other way : we can extend PendingCall class to compose our method in
this way 
(with / separator) , and we could use the method
RTMPConnection.invoke(MyPendingCall call,...) 
instead of invoke(String method, ....) 

Thanks Matteo. 



África Belén Romero Fernández
Fynet Solutions
981 634  067
[EMAIL PROTECTED]
http://www.fynet.net 


  

"Matteo Lanzi" <[EMAIL PROTECTED]> 
Enviado por: [EMAIL PROTECTED] 

24/09/2007 19:21 
Por favor, responda a Open Source Flash Mailing List 

        
      Para:        "'Open Source Flash Mailing List'" <[email protected]> 
      cc:         
      Asunto:        [osflash] R:  Rm:  Client functions call from a Red5
server






U can define a function insede the class that extends Apllication adapter
and than calli t from the flash client in the same way as FCS 


Ciao 
Matteo Lanzi 

-----Messaggio originale-----
Da: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Per
conto di [EMAIL PROTECTED]
Inviato: lunedì 24 settembre 2007 17.43
A: Open Source Flash Mailing List
Oggetto: [osflash] Rm: Client functions call from a Red5 server 


Hello everybody : 

I've one question about client functions call from a Red5 server. 
Previously with FMS, the client classes instances were registered with a
name into the connection, 
and , from the server using prefixes (= registered name), these instance
methods could be called, 
without being defined in the connection. 
Does anybody know any way to do this with Red5? 
As I've seen, we can only invoke methods defined in the NetConnection. 

Thanks in advance, 

África Belén Romero Fernández
Fynet Solutions
981 634  067
[EMAIL PROTECTED]
http://www.fynet.net_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org
_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org_____________________
__________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

Reply via email to