14.16. Invoking Server-Side Functions from the Client Movie
Problem
You want to invoke a server-side function from a client movie.
Solution
In the .asc file (main.asc
or another .asc file included in
main.asc), define the server-side function as a
method of the client object. Then, from the client, invoke the
call( )
method from the net connection object.
Discussion
To invoke a server-side function from a client, you must first
associate the server-side function with the connected client object.
You can do this by assigning the function as a method of the client
object. Generally, this is done within the onConnect(
)
method, as follows:
application.onConnect = function (newClient) { application.acceptConnection(newClient); newClient.ssFunction = function ( ) { // Do something here. }; };
Then, from the client movie you can use the call(
)
method to invoke the server-side client method:
// Invoke the server-side ssFunction( )
method from a net connection object.
myConnection.call("ssFunction");
If you want the server-side method to return a value to the client,
you must define a response object on the client. A response object is
an object derived from the Object
class for
which you have defined an onResult( )
method.
The value returned from the server-side method is passed to the
client-side onResult( )
method as a parameter.
myResponse = new Object( );
myResponse.onResult = function (result) {
// Do something with result
here.
};
Once you have defined the response object on the client, ...
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.