要认识flash remoting,就必须先知道amf(actionscript message format)。
    AMF is the Action Message Format. AMF is a proprietary data format created by Macromedia (now Adobe) and used by different mediums: Flash Remoting, ByteArray, IExternalizable, NetConnection, NetStream, LocalConnection, Shared Objects and more.(引用自osflash.org
    ActionScript Messaging Format (AMF) is a binary protocol meant to allow a Flash application, sitting on the user's browser, to communicate with the backend web server. AMF enables developers to build powerful flash-based applications driven by databases and rich business layers. (引用自amfnet.openmymind.net
    其实,可以简单地理解amf就是对flash的action script脚本中定义的数据类型(包括布尔,数字,数组,类等等)的二进制的格式约定(可能说的有些偏差,基于现在的水品,先这样理解吧:-)。因为二进制的传输是高效的,无歧义的,可以高压缩的,这可能是macromedia(现adobe)采纳的原因吧(Maybe:-)。
    下面的信息来自(ria.richtechmedia.com/category/%e9%8f%88%e7%b5%90/tutorials/page/2/
   

Flash remoting是一種連接flash client 與 server端的技術,它的功用就像是 web service, xml, loadVars一般,可以在兩者之間交換資料,達到動態置換內容的目地。

Flash remoting特別的地方在於它採用macromedia獨家的AMF(Action Message Format),這是一種 binary format的資料型態,透過 AMF over HTTP的方式將flash端資料編碼後傳回server,server端的remoting adaptor接收到資料後則會解碼回正確的native物件,交給正確的程式處理。

AMF除了用於Flash remoting外,也廣泛的用於 Local Connection 與 Flash communication server,它最大的特色在於可直接將flash native object,例如Object, Array, Date, XML,傳回server端,並且在server端自動進行轉譯成適當的物件,例如flash 的Array傳回PHP時就會自動轉換為 Associative Array;這個特色對開發者最大的好處在於不需要再人工處理serialization 與 deserialization的繁複工作,不但精確度更高,同時開發也更省時間。

由於AMF是binary format並且編碼時經過高度壓縮,因此非常適合用來傳遞大量的資料,根據flashorb網站的測試(主要針對web service與flash remoting),當資料量越大時,flash remoting的傳輸效能就越高,遠遠超過web service的表現,因此同樣的道理也可得知xml, loadVars, loadVariables 等使用plaine text format的傳輸方式自然也無可比擬。

至於在server端,目前macromedia官方支援的平台有三種,分別是 Java Coldfusion(但實際上Coldfusion應該只算是java的subset,它是一種 scripting tag library)與.NET,但由於AMF格式已被玩家反組譯成功,因此很快的就在Open Source圈出現各種「民間版」的remoting替代方案,其中比較有名的是:

-AMFPHP: 這是php版的remoting
-OPENAMF: java版的remoting
-Flap: Perl 與Python版的remoting
-FlashORB: 商業版的remoting替代方案,目前支援java與.net

另外,我补充一些:

amf.net:.net版的remoting

fluorine:.net版的remoting



文章来源:http://tangwei312tom.blog.163.com/blog/static/224731922008227102437496