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

新手入門AMF協(xié)議基礎(chǔ)全解

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
關(guān)于AMF協(xié)議,它是Adobe公司獨立開發(fā)的一種通信協(xié)議。主要是在Flash方面。那么他的具體情況和含義我們將在文章中為您詳細介紹一下。

在Flash領(lǐng)域我們都知道AMF協(xié)議,目前AMF協(xié)議已經(jīng)有了兩個版本,從AMF0一直到現(xiàn)在的AMF3,給我們帶來的變化也是很大的。那么下面我們就將來仔細研究一下這個Adobe獨家開發(fā)的通信協(xié)議。也是Flash Remoting的核心技術(shù)——AMF協(xié)議。

AMF是什么?它的優(yōu)點中是什么?Flash Remoting為什么選擇了使用AMF而放棄了SOAP與Flash播放器通信呢?

Flash 5開始就可以以XML或者“變量/值"配對輸出格式向服務(wù)器傳送數(shù)據(jù)。雖然這些數(shù)據(jù)能通過Flash編譯器自動解析或者通過開發(fā)人員自行編寫的代碼手動解析, 但解析的速度慢。因為在解析過程中,XML需要按節(jié)點逐層處理數(shù)據(jù)。而且使用XML和“變量/值"配對格式處理的數(shù)據(jù)類型只能是字符型,數(shù)字也不例外。而 Flash Remoting卻能處理復(fù)雜數(shù)據(jù)類型, 比如對象、結(jié)構(gòu)、數(shù)組,甚至可以是數(shù)據(jù)集,配合DataGrid組件可以很方便地顯示數(shù)據(jù)。

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

AMF協(xié)議通信方式

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

注意:Flash Remoting需要瀏覽器支持Binary POST,Flash 播放器在Netscape 6.x.環(huán)境下運行Flash Remoting會不起作用(Flash Remoting調(diào)用沒有效果也不返回錯誤), Netscape 7已經(jīng)糾正了這個bug 。對于早期Safari和Chimera版的蘋果機也有這個問題。

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

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

AMF能更有效序列化數(shù)據(jù);因為AMF的初衷只是為了支持Flash ActionScript的數(shù)據(jù)類型,而SOAP卻致力于提供更廣泛的用途;

AMF支持Flash 播放器 6只需要瀏覽器增加4 KB左右(壓縮后)的大小,而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é)議從Flash MX時代的AMF0發(fā)展到現(xiàn)在的AMF3。AMF3用作Flash Playe 9的ActionScript 3.0的默認序列化格式,而AMF0則用作舊版的ActionScript 1.0和2.0的序列化格式。在網(wǎng)絡(luò)傳輸數(shù)據(jù)方面,AMF3比AMF0更有效率。AMF3能將int和uint對象作為整數(shù)(integer)傳輸,并且能序列化 ActionScript 3.0才支持的數(shù)據(jù)類型, 比如ByteArray,XML和Iexternalizable。

責任編輯:佟健 來源: 電信技術(shù)
相關(guān)推薦

2011-01-10 14:36:00

新手linux基礎(chǔ)

2010-06-23 15:00:50

Fix協(xié)議

2013-12-24 10:04:01

PostgreSQL

2011-02-21 17:51:39

Zimbra入門新手

2011-05-31 16:47:47

SEO

2010-09-09 13:40:19

XML DOM

2010-01-14 14:12:42

網(wǎng)橋類型鏈路層

2011-03-22 11:06:52

Nagios安裝

2010-05-28 18:22:51

MySQL基本操作

2010-06-24 16:36:23

IPv6協(xié)議核心路由器

2009-07-16 09:07:46

Linux使用技巧Linux入門Linux開發(fā)

2010-05-14 18:31:17

MySQL 定時數(shù)據(jù)備

2010-05-17 09:52:55

虛擬化VMware Play

2010-06-10 10:31:36

MySQL出錯代碼列表

2011-06-30 17:41:46

SEO

2010-06-21 15:27:38

Linux apt-g

2010-09-25 13:07:50

DHCP協(xié)議結(jié)構(gòu)

2010-07-13 13:59:04

ICMP協(xié)議

2010-06-24 16:57:30

AMF協(xié)議

2010-06-21 14:37:36

AMF協(xié)議
點贊
收藏

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