Flash Remoting

En iyileştirilmiş istemci sunucu arası veri iletişiminde Flash Remoting ve AMF kullanın.

SWF dosyalarına uzaktan içerik yüklemek için XML kullanabilirsiniz. Ancak XML, çalışma zamanının yüklediği ve ayrıştırdığı düz metindir. XML en çok sınırlı bir içerik miktarı yükleyen uygulamalarda işe yarar. Yüksek miktarda içerik yükleyen bir uygulama geliştiriyorsanız, Flash Remoting teknolojisi ve Action Message Format (AMF) kullanmayı deneyin.

AMF, sunucu ve çalışma zamanı arasında verileri paylaşmaya yarayan ikili bir formattır. AMF kullanımı verinin boyutunu düşürürken iletim hızını iyileştirir. AMF, çalışma zamanının yerel biçimi olduğundan çalışma zamanına AMF verilerinin gönderilmesi, istemci tarafında yoğun bellek gerektiren serileştirme ve serileştirmeyi geri alma işlemlerinden kaçınmanızı sağlar. Uzaktan çağırma ağ geçidi bu görevleri işler. Bir ActionScript veri türünü sunucuya gönderirken, uzaktan çağırma ağ geçidi, serileştirmeyi sunucu tarafında sizin yerinize işler. Ağ geçidi ayrıca karşılık gelen veri türünü de size gönderir. Bu veri türü çalışma zamanından çağrılabilecek bir yöntemler kümesini açık bırakan sunucuda oluşturulan bir sınıftır. Flash Remoting ağ geçitleri; ZendAMF, FluorineFX, WebORB ve Adobe’nin resmi bir açık kaynak Java Flash Remoting ağ geçidi olan BlazeDS’i içerir.

Aşağıdaki resimde Flash Remoting kavramı gösterilmektedir:

Aşağıdaki örnekte bir Flash Remoting ağ geçidine bağlanmak için NetConnection sınıfı kullanılmaktadır:

// 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 ?");

Bir uzaktan çağırma ağ geçidine bağlanmak kolaydır. Ancak, Flash Remoting'i kullanmak Adobe® Flex® SDK'ye dahil edilen RemoteObject sınıfının kullanımıyla daha da basit bir hale getirilebilir.

Not: Flex çerçevesindekiler gibi harici SWC dosyaları bir Adobe® Flash® Professional projesinin içinde kullanılabilir. SWC dosyalarının kullanımı Flex SDK'nin geri kalanını kullanmadan RemoteObject sınıfını ve ona bağlı olan öğeleri kullanmanıza olanak verir. Gelişmiş geliştiriciler gerektiğinde doğrudan ham Socket sınıfı üzerinden de bir uzaktan çağırma ağ geçidi ile iletişim kurabilir.