Flash Remoting

Använd Flash Remoting och AMF för att optimera kommunikationen för klient-server-data.

Du kan använda XML för att läsa in fjärrinnehåll till SWF-filer. XML är emellertid vanliga textfiler, som läses in och tolkas av körningsmiljön. XML fungerar bäst för program där en begränsad mängd innehåll läses in. Om du utvecklar ett program som läser in stora mängder data ska du överväga om du inte ska använda Flash Remoting-tekniken och AMF (Action Message Format) i stället.

AMF är ett binärt format som används för att dela data mellan en server och körningsmiljön. När du använder AMF minskas mängden data och hastigheten för överföringen förbättras. Eftersom AMF är ett ursprungligt format för körningsmiljön undviker du, genom att skicka AMF-data till miljön, minnesintensiv serialisering och avserialisering på klienten. Den fjäranslutna gatewayen hanterar dessa uppgifter. När du skickar en ActionScript-datatyp till en server, kommer serialiseringen att hanteras i fjärrgatewayen på serversidan. Gatewayen skickar dessutom motsvarande datatyp till dig. Den här datatypen är en klass som skapas på servern. Den innehåller en uppsättning metoder som kan anropas från körningsmiljön. Flash Remoting-gatewayer innehåller ZendAMF, FluorineFX, WebORB och BlazeDS, en officiell Java Flash Remoting-gateway från Adobe med öppen källkod.

I följande bild illustreras begreppet Flash Remoting:

I följande exempel används NetConnection-klassen för att ansluta till en Flash Remoting-gateway:

// Create the NetConnection object 
var connection:NetConnection = new NetConnection (); 
  
// Connect to a Flash Remoting gateway 
connection.connect ("http://www.yourserver.com/remotingservice/gateway.php"); 
  
// Asynchronous handlers for incoming data and errors 
function success ( incomingData:* ):void 
{ 
    trace( incomingData ); 
} 
  
function error ( error:* ):void 
{ 
    trace( "Error occured" ); 
} 
  
// Create an object that handles the mapping to success and error handlers 
var serverResult:Responder = new Responder (success, error); 
  
// Call the remote method 
connection.call ("org.yourserver.HelloWorld.sayHello", serverResult, "Hello there ?");

Att ansluta till en fjärrgateway är relativt enkelt. Att använda Flash Remoting kan emellertid göras ännu enklare om du använder RemoteObject-klassen som finns i Adobe® Flex® SDK.

Obs! Externa SWC-filer, som exempelvis de från Flex-ramverket, kan användas i Adobe® Flash® Professional-projekt. När du använder SWC-filer kan du använda RemoteObject-klassen och dess beroenden utan att använda Flex SDK för övrigt. Om du är en avancerad utvecklare kan du även kommunicera med en fjärrgateway direkt genom raw-Socket-klassen om det skulle behövas.