偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

簡說AMF協(xié)議原理

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
AMF協(xié)議的應(yīng)用是與它的特點(diǎn)息息相關(guān)的。那么我們接下來就對這個(gè)協(xié)議進(jìn)行一下講解,希望大家能夠從中得到有用的參考。

AMF協(xié)議在Flash Remoting中是一個(gè)核心協(xié)議?;旧螦MF協(xié)議規(guī)定了Flash Remoting的所有工作。那么我們?nèi)绾卫斫膺@個(gè)協(xié)議呢?下面我們就來認(rèn)識一下這個(gè)協(xié)議的一些特點(diǎn)吧。這個(gè)協(xié)議開始就可以以XML或者“變量/值"配對輸出格式向服務(wù)器傳送數(shù)據(jù)。

雖然這些數(shù)據(jù)能通過Flash編譯器自動解析或者通過開發(fā)人員自行編寫的代碼手動解析,但解析的速度慢。因?yàn)樵诮馕鲞^程中,XML需要按節(jié)點(diǎn)逐層處理數(shù)據(jù)。而且使用XML和“變量/值"配對格式處理的數(shù)據(jù)類型只能是字符型,數(shù)字也不例外。

而Flash Remoting卻能處理復(fù)雜數(shù)據(jù)類型,比如對象、結(jié)構(gòu)、數(shù)組,甚至可以是數(shù)據(jù)集,配合DataGrid組件可以很方便地顯示數(shù)據(jù)。

為了處理復(fù)雜數(shù)據(jù)類型,采用一種獨(dú)有的方式使Flash與應(yīng)用服務(wù)器間可以來回傳送數(shù)據(jù)勢在必行。

于是AMF應(yīng)運(yùn)而生。AMF是Adobe獨(dú)家開發(fā)出來的通信協(xié)議,它采用二進(jìn)制壓縮,序列化、反序列化、傳輸數(shù)據(jù),從而為Flash播放器與Flash Remoting網(wǎng)關(guān)通信提供了一種輕量級的、高效能的通信方式。

AMF最大的特色在于可直接將Flash內(nèi)置對象,例如Object,Array,Date,XML,傳回服務(wù)器端,并且在服務(wù)器端自動進(jìn)行解析成適當(dāng)?shù)膶ο?這就減輕了開發(fā)人員繁復(fù)工作,同時(shí)也更省了開發(fā)時(shí)間。

由于AMF協(xié)議采用二進(jìn)制編碼,這種方式可以高度壓縮數(shù)據(jù),因此非常適合用來傳遞大量的資料。

數(shù)據(jù)量越大,Flash Remoting的傳輸效能就越高,遠(yuǎn)遠(yuǎn)超過WebService。至于XML,LoadVars和loadVariables(),它們使用純文本的傳輸方式,效能就更不能與Flash Remoting相提并論了。

注意:

Flash Remoting需要瀏覽器支持BinaryPOST,Flash播放器在Netscape6.x.環(huán)境下運(yùn)行Flash Remoting會不起作用(Flash Remoting調(diào)用沒有效果也不返回錯誤),Netscape7已經(jīng)糾正了這個(gè)bug。

對于早期Safari和Chimera版的蘋果機(jī)也有這個(gè)問題。同樣是輕量級數(shù)據(jù)交換協(xié)議,同樣是通過調(diào)用遠(yuǎn)程服務(wù),同樣是基于標(biāo)準(zhǔn)的HTTP和HTTPS協(xié)議,Flash Remoting為什么選擇了使用AMF協(xié)議而放棄了SOAP與Flash播放器通信呢?

有如下原因:

SOAP將數(shù)據(jù)處理成XML格式,相對于二進(jìn)制的AFM太冗長了;

AMF能更有效序列化數(shù)據(jù);

因?yàn)锳MF的初衷只是為了支持FlashActionScript的數(shù)據(jù)類型,而SOAP卻致力于提供更廣泛的用途;

AMF支持Flash播放器6只需要瀏覽器增加4KB左右(壓縮后)的大小,而SOAP就大多了;

SOAP的一些頭部文件請求在Flash播放器6不支持。

那Flash播放器6為什么能訪問基于SOAP的Web服務(wù)呢?

原來Flash Remoting網(wǎng)關(guān)將SOAP請求在服務(wù)器端與轉(zhuǎn)換成AFM格式,然后利用AFM與Flash播放器通信。另外,AMF包中包含onResult事件(比如說response事件)和onStatus事件(比如說error事件),這些事件對象在Flash中可以直接使用。AMF協(xié)議從FlashMX時(shí)代的AMF0發(fā)展到現(xiàn)在的AMF3。AMF3用作FlashPlaye9的ActionScript3.0的默認(rèn)序列化格式,而AMF0則用作舊版的ActionScript1.0和2.0的序列化格式。在網(wǎng)絡(luò)傳輸數(shù)據(jù)方面,AMF3比AMF0更有效率。AMF3能將int和uint對象作為整數(shù)(integer)傳輸,并且能序列化ActionScript3.0才支持的數(shù)據(jù)類型,比如ByteArray,XML和Iexternalizable。

責(zé)任編輯:佟健 來源: IT168
相關(guān)推薦

2010-06-18 14:06:03

AMF協(xié)議

2010-08-29 21:24:53

DHCP協(xié)議

2010-06-10 13:00:18

RIP協(xié)議

2010-06-24 16:57:30

AMF協(xié)議

2010-06-21 13:59:33

AMF協(xié)議

2010-06-21 14:37:36

AMF協(xié)議

2010-06-21 15:06:45

AMF協(xié)議

2010-06-18 13:53:22

AMF協(xié)議

2010-06-28 10:03:34

AMF協(xié)議

2010-06-13 15:42:24

UDP協(xié)議

2010-06-28 09:50:42

AMF協(xié)議

2010-06-21 13:14:09

AMF協(xié)議

2010-06-18 15:20:31

AMF協(xié)議

2010-06-19 13:47:39

AMF協(xié)議

2010-06-18 14:31:41

AMF協(xié)議

2010-07-16 09:54:10

Telnet服務(wù)

2010-09-02 15:34:25

DHCP協(xié)議

2010-05-10 14:29:11

線路負(fù)載均衡

2010-06-11 13:54:58

WAP通訊協(xié)議

2010-09-08 16:25:39

SIP協(xié)議棧
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號