flex資料互動方式 轉

來源:互聯網
上載者:User

標籤:http   io   os   使用   java   ar   for   檔案   資料   

Flex資料互動方法- httpservice, webservice, RemoteObject, socket.

寫在前面:

使用SOAP Web Service同Flex互動有很多好處,但是它很慢, 使用定製化XML好一點,卻不標準化.

那麼最好的ASP.Net 和flex互動方法是什麼? 

1. HTTPService 實際上應該叫做XML via HTTPService, 就是用get和post方式進行資料轉送,同平常的web form提交大致一 樣.好處就是很簡單,通用性高. 不管你用asp,jsp, 還是XXP, 任何可以產生標準XML的程式都可以和你的Flex程式進行互動. 處理大量資料時, 速度慢, 下面是個簡單的例子:

登入 http://www.helloria.com/showtopic.aspx?topicid=37&forumpage=1&page=1#53 

2. WebService 通用的叫做SOAP, 用datatable返回資料, 沒有內建的Paging功能.不直接返回dataset. 並且大型資料互動速度慢.但,它是比較通用的介面, 大多伺服器通訊都支援, 不過伺服器端實現起來比較複雜.

3. Remoting 基於AMF的資料互動, 速度以及效能是最好的. 支援dataset和datatable, 以及OR mapping工具. Fast, reliable and secure, 需要一個Flex Remoting Gateway來做資料de/seralization.

 優點:

1).傳輸資料類型比較豐富。

2).可以支援AMF0,AMF3兩種資料封裝類型,AMF3是Flash Player 9或更進階才能支援,有了AMF3,可以直接傳送二進位檔案流資料。

3).傳輸效率相對比較高。

4).對各種背景支援也比較好。

FDS(LCDS) - 是Adobe主推的FlashRemoting服務端,功能強大(當然也支援AMF0,AMF3格式, java和net平台都支援),品質也不錯,可惜這個是需要銀子的。

Blazeds - 是Adobe另外一個開源的FlashRemoting項目,基於Java平台的,支援AMF0,AMF3格式

Amfphp - 一種基於PHP的RPC工具,支援FlashRemoting中AMF0和AMF3兩種格式,開源項目。

Openamf - 一種基於Java的FlashRemoting開源項目,目前只支援AMF0格式。

GDS(Granite Data Services) - 也是一個基於Java平台的FlashRemoting項目,支援AMF3的。

WebORB - 一個支援.net,java,php,ruby等開發平台的FlashRemoting項目,也支援AMF0和AMF3。

FluorineFx - 一個支援.net開發平台的FlashRemoting開源項目, AMF0, AMF3 ,RTMP, RTMPT 。

缺點:

1).需要後台服務端裝相應版本的Flash Remoting模組才可以使用。

2).如果使用虛擬機器主機的話配置起來比較麻煩。

4. Socket: 沒什麼說的,基於socket通訊的,這也是flash和傳統web開發中,通訊方式最不同的地方,socket可以建立持久串連,因此可以用來做網遊,多人聊天,視頻等應用。 

什麼是AMF? AMF0, AMF3 做Flex RIA互動的都知道有3種資料互動方式, HttpService, WebService 和remoting. 

大家又公認Remoting是最有效率的方法! 

那麼Remoting為什麼會更有效率呢, 這就涉及到資料封裝格式. 

AMF是Adobe獨家開發的資料封裝格式, AMF(Action Message Format) binary format. Remoting傳輸這種壓縮的資料格式, 而且傳輸的的資料還包括ByteArray等多種形態( 參考AMF3 Specification). 

Flash可以直接存取, 並且由於它是基於二進位的資料轉送,所以相對於xml SOAP、json、webService等基於字串的資料格式,有資料體積小和效率高的特點。 

AMF目前有AMF0和AMF3兩種格式,AMF隨著ActionScript3的問世,直接從AMF0升級到AMF3.  Flash8以前版本只支援AMF0,flash9支援兩種格式。AMF3比AMF0效率更高。

flex資料互動方式 轉

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.