14.17. Invoking Client-Side Functions from the Server
Problem
You want to invoke a client-side function from Server-Side ActionScript.
Solution
Define the client-side function
as a method of the client-side net
connection object, and then, on the server, invoke the
call( )
method on the client object.
Discussion
To invoke client-side functionality from the FlashCom server, you
must first define the client-side functionality within a method of
the net connection object. Then you can invoke that method from the
FlashCom server using the call( )
method of the
corresponding client object.
For example, here is a snippet of client-side code (meaning it should be in your Flash movie) that defines a custom method for a net connection object:
myConnection.myCsFunction = function ( ) { trace("Method called from server!"); };
Then, in the Server-Side ActionScript (in the
main.asc file or other
.asc
included in
main.asc), you can invoke the server-side
function, in this case myCsFunction( ), using
the call( )
method. You should invoke the
call( )
method on the client object that
corresponds to the client on which you want to invoke the function.
For example, you can invoke the same method in all connected clients
using a for
statement, as shown here:
for (var i = 0; i < application.clients.length; i++) { application.clients[i].call("myCsFunction"); }
See Also
Recipe 14.16 and Recipe 17.6. This chapter has barely scratched the surface of what can be done with FlashCom server and Server-Side ActionScript. ...
Get Actionscript Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.