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, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access