- Home
- Tutorials
- Flash
- Intermediate
- Flash Remoting Best Practices

Server-Proofing the Application
Copyright © 2003 O'Reilly Media, Inc. All Rights Reserved. | ![]() |
| This content is excerpted from the above-named O'Reilly publication, with permission, by agreement with ActionScript.org. | |
The Flash Remoting application has many possible failure points. One of the more frequent failure points is the communication between client and server. Server-proofing involves testing the application in serverless environments to guarantee that the application will fail gracefully if the server is unavailable.
There are many possible reasons for communication failure:
- The Internet is too busy
-
This can happen during peak hours and may be a limitation of the end user's Internet Service Provider (ISP), or it may be tied to a global Internet virus, which seems to occur more and more each year.
- The end user has saved the page for offline browsing
-
If the end user has disconnected from the Internet, how will your application respond?
- The server might be down temporarily
-
This can happen when your ISP is rebooting a server, the server is down for maintenance, etc.
Whatever the reason, your application needs a reliable way to recover from the lack of a connection. In an HTML page, this is not a problem; the browser will force a timeout after a specified number of seconds waiting for a response. In a Flash movie, it is your responsibility to provide a fallback mechanism to handle the lack of a connection. You can do this in two ways:
- Provide an offline option in your application
-
In some applications this is not possible, but you may have an application that works well offline, such as an email program that allows a user to read the contents of previously downloaded email or compose an email offline.
- Display a user-friendly error message
-
The user should not see system error messages and other cryptic messages. Instead, handle the error gracefully in the ActionScript code and display a comprehensible message to the end user.
The System.onStatus event should be assigned to a
function in your application so that any failed remote calls will be
handled gracefully:
System.onStatus = function ( ) {
getURL("http://www.flash-remoting.com/try_again.html","_blank");
};
This code displays an HTML error page to the user when a connection to Flash Remoting cannot be made.

