The Flash remoting allows to easily transfer complex data between ActionScript code running in a flash movie, and PHP code running on a webserver, in both directions.
In other words, it lets you to call (from ActionScript) PHP functions defined in files on a webserver as if they were defined in your ActionScript code.
The Cabron Connector does not use the AMF to transfer the data, it uses the LoadVars ActionScript object. So the data is transmitted as a regular POST, after it is serialzied in the CDE (Compact Data Exchange) format.
CDE is a proprietary text-based format, which tries to minimize the size of the data needed for representing a given structure, and it facilitates timed deserialization.
This can be useful when transferring huge amount of data from the PHP services to Flash. Because the LoadVars works in the main thread of Flash, the deserialization happens in the main thread, blocking the Flash movie.
This can lead to:
- The blocking of the main movie: the graphical elements won't animate for a while, and the interface does not respond to user events - this is the better case
- The "A script in this movie is causing Flash Player to run slowly..." message can appear. This is the worse case.
To avoid these nasty situations, you can set the deserialization to be performed not on a single frame, but in a sequence of frames.
This way the flash movie won't block, but of course there will be a difference between the frame when the data is loaded to Flash, and the frame when the data is deserialized and the Result handler is called.