14.15. Tracking Clients Connected to the Application

Problem

You want to keep track of all the clients connected to the FlashCom application.

Solution

Use the server-side application.clients property.

Discussion

Server-Side ActionScript (for FlashCom) includes a built-in, application-wide property named application.clients, which is an array of all the connected client objects.

This example defines a custom getUserInfo( ) method, for each client, which returns information about the clients connected to the application:

// Create an application.onConnect(  ) method. This example assume that when the client
// connects, a username parameter is passed along.
application.onConnect = function (newClient, username) {
  
  // Accept the connection to the new client.
  application.acceptConnection(newClient);

  // Add the username to the client object as a custom property.
  newClient.username = username;

  // Define a custom getUserInfo(  ) method for the client object. This method can then
  // be called from the client.
  newClient.getUserInfo = function (  ) {

    // Create a new array, loop through all the connected clients in
    // application.clients and add the usernames to the array.
    var clients_ar = new Array(  );
    for (var i = 0; i < application.clients.length; i++) {
      clients_ar.push(application.clients[i].username);
    }
    // Return the array of usernames.
    return clients_ar;
  };
};

See Also

Recipe 14.14

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.