日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

与后台通讯,首先要了解AMF协议

發(fā)布時(shí)間:2023/11/27 生活经验 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 与后台通讯,首先要了解AMF协议 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Flash 5開始就可以以 XML 或者“變量/值”配對(duì)輸出格式向服務(wù)器傳送 數(shù)據(jù) 。雖然這些數(shù)據(jù)能通過Flash編譯器自動(dòng)解析或者通過 開發(fā) 人員自行編寫的 代碼 手動(dòng)解析, 但解析的速度慢。因?yàn)樵诮馕鲞^程中,XML需要按節(jié)點(diǎn)逐層處理數(shù)據(jù)。而且使用XML和“變量/值”配對(duì)格式處理的數(shù)據(jù)類型只能是字符型,數(shù)字也不例外。而Flash Remoting卻能處理復(fù)雜數(shù)據(jù)類型, 比如對(duì)象、結(jié)構(gòu)、數(shù)組,甚至可以是數(shù)據(jù)集,配合 DataGrid 組件 可以很方便地顯示數(shù)據(jù)。

為了處理復(fù)雜數(shù)據(jù)類型,采用一種獨(dú)有的方式使Flash與
應(yīng)用 服務(wù)器間可以來(lái)回傳送數(shù)據(jù)勢(shì)在必行。于是AMF應(yīng)運(yùn)而生。AMF是 Adobe 獨(dú)家開發(fā)出來(lái)的 通信 協(xié)議,它采用二進(jìn)制壓縮,序列化、反序列化、傳輸數(shù)據(jù),從而為Flash 播放器 與Flash Remoting網(wǎng)關(guān)通信提供了一種輕量級(jí)的、高效能的通信方式。


AMF最大的特色在于可直接將Flash內(nèi)置對(duì)象,例如Object, Array, Date, XML,傳回服務(wù)器端,并且在服務(wù)器端自動(dòng)進(jìn)行解析成適當(dāng)?shù)膶?duì)象,這就減輕了開發(fā)人員繁復(fù)工作,同時(shí)也更省了開發(fā)時(shí)間。由于AMF采用二進(jìn)制編碼,這種方式可以高度壓縮數(shù)據(jù),因此非常適合用來(lái)傳遞大量的資料。數(shù)據(jù)量越大,Flash Remoting的傳輸效能就越高,遠(yuǎn)遠(yuǎn)超過
Web ?Service。至于XML, LoadVars和loadVa ria bles() ,它們使用純文本的傳輸方式,效能就更不能與Flash Remoting相提并論了。

注意:Flash Remoting需要瀏覽器支持Bin ary POST,Flash 播放器在Nets cape 6.x.環(huán)境下運(yùn)行Flash Remoting會(huì)不起作用(Flash Remoting調(diào)用沒有
效果 也不返回錯(cuò)誤), Nets cape 7已經(jīng)糾正了這個(gè)b u g 。對(duì)于早期Sa fari和Chim era版的蘋果機(jī)也有這個(gè)問題。

同樣是輕量級(jí)數(shù)據(jù)交換協(xié)議,同樣是通過調(diào)用遠(yuǎn)程服務(wù),同樣是基于標(biāo)準(zhǔn)的HTTP和HTTPS協(xié)議, Flash Remoting為什么選擇了使用AMF而放棄了SOAP與Flash 播放器通信呢??有如下原因:

SOAP將數(shù)據(jù)處理成XML格式,相對(duì)于二進(jìn)制的AFM太冗長(zhǎng)了;?
AMF能更有效序列化數(shù)據(jù);因?yàn)锳MF的初衷只是為了支持Flash ActionScript的數(shù)據(jù)類型,而SOAP卻致力于提供更廣泛的用途;?
AMF支持Flash 播放器 6只需要瀏覽器增加4 KB左右(壓縮后)的大小,而SOAP就大多了;?
SOAP的一些頭部
文件 請(qǐng)求在Flash 播放器 6不支持。那Flash 播放器 6為什么能訪問基于SOAP的Web服務(wù)呢?原來(lái)Flash Remoting網(wǎng)關(guān)將SOAP請(qǐng)求在服務(wù)器端與轉(zhuǎn)換成AFM格式,然后利用AFM與Flash 播放器通信。另外,AMF包中包含onResult 事件 (比如說(shuō)response事件)和onStatus事件(比如說(shuō)error事件),這些事件對(duì)象在Flash中可以直接使用。
AMF從Flash MX時(shí)代的AMF0發(fā)展到現(xiàn)在的AMF3。AMF3用作Flash Playe 9的ActionScript 3.0的默認(rèn)序列化格式,而AMF0則用作舊版的ActionScript 1.0和2.0的序列化格式。 在網(wǎng)絡(luò)傳輸數(shù)據(jù)方面,AMF3比AMF0更有效率。AMF3能將int和uint對(duì)象作為整數(shù)(integer)傳輸,并且能序列化ActionScript 3.0才支持的數(shù)據(jù)類型, 比如ByteArray,XML和Iexternalizable。

總結(jié)

以上是生活随笔為你收集整理的与后台通讯,首先要了解AMF协议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。