国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

使用PyAmf來實現Flex與Django的通信

開發 后端
本文向大家介紹一下如何使用PyAmf來實現Flex與Django的通信,PyAmf本質上跟AmfPHP是雷同的。都是通過對AMF協議協議的支持來實現對Flash的交互過程。

在學習Flex的過程中,你可能會遇到使用PyAmf來實現Flex與Django的通信方面的問題,這里和大家分享一下,相信本文介紹一定會讓你有所收獲。

使用PyAmf來實現Flex與Django的通信

三年前,用過AmfPHP與Flash/Flex Remoting做過交互,最近接觸Python,公司項目用的Flex做前端,所以接觸了PyAmf。PyAmf本質上跟AmfPHP是雷同的。都是通過對AMF協議(ActionScriptMessageFormat)協議的支持來實現對Flash的交互過程。

一、首先,簡單的介紹一下AMF協議格式。

AMF是Adobe獨家開發出來的通信協議,它采用二進制壓縮,序列化、反序列化、傳輸數據,從而為Flash播放器與Flash
Remoting網關通信提供了一種輕量級的、高效能的通信方式。AMF最大的特色在于可直接將Flash內置對象,例如Object,Array,
Date,XML,傳回服務器端,并且在服務器端自動進行解析成適當的對象,這就減輕了開發人員繁復工作,同時也更省了開發時間。它采用二進制編碼,可以高度壓縮數
據,因此非常適合用來傳遞大量的資料。數據量越大,FlashRemoting的傳輸效能就越高,遠遠超過Web
Service以及使用純文本的傳輸方式的XML。

AMF協議是基于Http協議的,它的處理過程大致如下:
1、從客戶端獲取Http請求(Request)流。
2、對流進行反序列化(Deserialize),得到服務器端程序能夠識別的數據,并建立響應(Response)消息。
3、找到相應的遠程服務
4、調用服務器端方法,對流進行各種處理得到返回值。
5、序列化響應流
6、將序列化響應流發送Http響應給客戶端。

二、安裝配置PyAmf和Django

PyAmf目前的穩定版本是0.3,去官方網站下載壓縮包,解壓文件,執行pythonsetup.pyinstall即可完成安裝。
至于Django的安裝配置,我前面的文章已經講過了,詳細請參閱http://www.kokkowon.cn/archives/33。

下面我們來開發具體的實際應用。首先簡單介紹下pyAMF.django的處理機制。
Pyamf通過pyamf.remoting.gateway.django模塊來實現與django
Request、Response相對應處理機制。其中pyamf.remoting.gateway.django.DjangoGateway類是整
個處理流程的主干。我們僅僅需要在django中建立一個DjangoGateway的實例,這個實例通過urlmap對應到響應的處理函數,將把從底層
傳遞過來的Request解碼,并映射到響應的Python對象,然后執行注冊的RPC方法,返回一個Response,然后采用AMF協議格式將
Response編碼,返回給django,django通過它本身的相關機制,將這個Response以http響應的方式返回給客戶端。

1)創建DjangoGateway

首先創建Django項目,然后創建一個應用程序,我這里還叫做app應用,
django-admin.pystartprojectfortest
pythonmanage.pystartappapp
我前面的文章已經講過了,詳細請參閱http://www.kokkowon.cn/archives/33。

定義數據庫模型:
app/models.py用于定義我們的數據庫模型,將其修改如下:

"""
數據庫模型

  1. @see:U{Djangohomepage(external)<http://djangoproject.com>}  
  2. @author:U{kokkowon<kokko313@gmail.com>}  
  3. @since:0.1.0  
  4. """  
  5. fromdjango.dbimportmodels  
  6. importdatetime  
  7.  
  8. #MysqlText類型  
  9. classMysqlTextField(models.Field):  
  10. defdb_type(self):  
  11. return'text'  
  12.  
  13. classFavorite:  
  14. TYPE_CHOICES=(  
  15. ('url','網址'),  
  16. ('music','音頻'),  
  17. ('video','視頻'),  
  18. )  
  19. type=models.CharField('類型',max_length=30,db_index=True,choices=TYPE_CHOICES)  
  20. title=models.CharField('標題',max_length=250)  
  21. body=models.CharField('內容',default='',max_length=255)  
  22. general=MysqlTextField('描述',default='',blank=True)  
  23. created=models.DateTimeField('添加時間',default=datetime.datetime.now,blank=True)  
  24.  
  25. def__unicode__(self):  
  26. returnself.title  
  27.  
  28. classUserFavorite(Favorite,models.Model):  
  29. user_id=models.CharField('用戶ID',max_length=250,db_index=True)  
  30. type=Favorite.type  
  31. title=Favorite.title  
  32. body=Favorite.body  
  33. general=Favorite.general  
  34. created=Favorite.created  
  35.  
  36. classMeta:  
  37. db_table='user_favorites' 
  38. verbose_name='用戶收藏夾' 
  39. verbose_name_plural='用戶收藏夾列表' 
  40.  

以上定義了一個叫做user_favorites的表。關于Django里面model的定義說明請查看這里:http://docs.djangoproject.com/en/dev/

2)測試PyAmf
在fortest目錄下,新建c.py

  1. frompyamf.remoting.clientimportRemotingService  
  2. importsys  
  3.  
  4. gateway=RemotingService('http://localhost:8000/app/gateway/')  
  5. adduserfavorite_service=gateway.getService('adduserfavorite')  
  6. edituserfavorite_service=gateway.getService('edituserfavorite')  
  7. userfavorite_service=gateway.getService('userfavorite')  
  8.  
  9. """  
  10. #添加用戶收藏  
  11. """  
  12. rs=adduserfavorite_service('kokko','網址','163','http://www.163.com')  
  13. printrs['id']  
  14. print"----------------------------"  
  15. #編輯用戶收藏  
  16. rs=edituserfavorite_service(2,'wwq','視頻','sohu','http://www.sohu.com')  
  17. printrs  
  18. print"----------------------------"  
  19. #用戶收藏列表  
  20. rs=userfavorite_service('user_id','kokko')  
  21. for_iteminrs:  
  22. print_item.title+''+_item.type+''+_item.user_id+''+_item.body  
  23. print"----------------------------"  
  24. sys.exit(0)  
  25.  

運行服務器:manage.pyrunserver
運行測試程序:pythonc.py將顯示響應結果,如下圖示例:

 


證明測試完全通過,Flex端可以使用相關接口和服務器進行通訊了。由于時間關系,我這里不再給出Flash端的實例,等有時間再行補上。

【編輯推薦】

  1. Flex4beta的Spark布局特性解析
  2. FlexBuilder4十大新特性閃亮登場
  3. Flex module用法指南
  4. Flex4Beta引入新元素功能更強大
  5. FlexBuilder開發方法及特點解析 

 

責任編輯:佚名 來源: ej38.com
相關推薦

2010-07-27 15:36:15

Flex swf

2017-12-19 15:24:21

DjangoPythonOracle

2010-08-06 16:07:55

Flex通信

2010-08-06 15:35:06

Flex服務器

2010-08-10 13:28:21

Flex代碼格式化

2010-08-11 13:28:46

Flex行為

2017-12-07 14:40:05

前端FlexCSS

2011-03-16 09:05:29

iptablesNAT

2021-11-16 10:45:35

WebSocketWebShellLinux

2010-07-29 14:27:52

FlexWeb

2010-08-06 09:24:44

FlexFlash

2010-08-12 13:34:13

Flex驗證組件

2019-12-26 09:28:34

TCPPython通信

2010-08-09 15:52:28

2010-08-05 13:14:16

Flex布局

2010-08-13 10:01:46

Flex樣式定義

2023-11-17 09:35:58

2010-08-05 09:54:56

Flex特效

2010-08-06 16:15:57

Flex通信

2009-06-26 10:37:32

樹的匯總
點贊
收藏

51CTO技術棧公眾號

成人小电影网站| 在线精品日韩| 日本1区2区3区中文字幕| 九九九九九九精品任你躁| 亚洲成av人片在线观看| av噜噜色噜噜久久| 精品一区二区三区中文字幕视频| 亚洲一级二级在线| 91成人在线观看喷潮教学| 天天干天天爽天天射| 精品国产一区二| 亚洲精品国产精品自产a区红杏吧| 亚洲人成网址| 亚洲另类中文字| 99热免费观看| 国产亚洲一本大道中文在线| 亚洲一区免费看| 久久国产精品99久久久久久老狼| 91原创国产| 国内自拍视频一区二区三区| 成人国产精品色哟哟| 郴州新闻综合频道在线直播| 日本久久91av| 欧美爱爱网站| 午夜精品视频一区| 无码少妇一区二区三区| 亚洲国产精品va在线看黑人动漫| 一本一本久久a久久精品综合妖精| 中文字幕伦理免费在线视频| 日韩av二区| 国产高清在线精品| 亚洲男人av在线| 日本三级中国三级99人妇网站| 在线免费激情视频| 免费看日本一区二区| 91精品欧美福利在线观看| 国产精品区一区| 成人久久精品| 粉嫩欧美一区二区三区高清影视 | 男女男精品视频| 日韩中文不卡| 激情久久五月| 国产精品一区二区三区观看| 欧美一级本道电影免费专区| 91久久嫩草影院一区二区| 欧美肉体xxxx裸体137大胆| 国产91露脸中文字幕在线| 精品一区免费| 国产欧美va欧美va香蕉在| 久久99国内| 97超碰人人模人人爽人人看| 日韩午夜av| 免费不卡亚洲欧美| 国产在线看一区| 日本日本19xxxⅹhd乱影响| 国产亚洲欧美日韩日本| jlzzjlzz欧美大全| 亚洲欧美一区二区不卡| 头脑特工队2在线播放| 欧美日韩国产小视频在线观看| a视频在线免费看| 91精品国产高清久久久久久久久| 奇米综合一区二区三区精品视频| 久久久久久久久久久免费精品 | 男人亚洲天堂| 一本色道久久综合狠狠躁的推荐| 日本人妻伦在线中文字幕| 欧美性猛交xxxx乱大交极品| 一本大道香蕉久久| 午夜精品福利一区二区三区av| 国产九一视频| 欧美伊人久久久久久午夜久久久久| 最新理论片影院| 在线观看一区不卡| 秋霞午夜理伦电影在线观看| 日韩精品免费在线观看| 亚洲国产91视频| 久久伊人精品天天| 国产一区二区观看| 午夜一区二区三视频在线观看| 免费成人av资源网| 日本19禁啪啪吃奶大尺度| 精品视频1区2区3区| 色在线中文字幕| 欧美激情xxxxx| 88国产精品视频一区二区三区| 午夜午夜精品一区二区三区文| 成人久久视频在线观看| 污视频在线观看网站| 日韩三级高清在线| 国产精品久久久久久久久久白浆| 亚洲欧美一区二区激情| 日本aⅴ免费视频一区二区三区| 日本人体一区二区| 欧美性videosxxxxx| 在线免费黄色毛片| 日韩一区二区三区高清| 亚洲综合999| 亚洲国产天堂| 欧美精品一区二区三区在线四季 | 欧美日韩在线精品| 欧美性jizz18性欧美| 欧美momandson| 九九久久99| 国产精品久久久久永久免费观看| 国产精品亚洲天堂| 国产精品男人的天堂| 99久久99久久精品国产片果冰| 亚洲亚洲精品三区日韩精品在线视频| 久久福利网址导航| 久88久久88久久久| siro系绝美精品系列| 日本10禁啪啪无遮挡免费一区二区| 国产午夜亚洲精品理论片色戒| 国产桃色电影在线播放| 欧美一区二区三区四区夜夜大片 | 99re热视频精品| 久久九九精品视频| 国内伊人久久久久久网站视频| 精品一区二区在线观看| 亚洲6080在线| 国产精品白丝久久av网站| 国产精品99久久免费| 好吊成人免视频| 国产精品xx| av网页在线| 综合国产精品久久久| 日韩av综合网站| 欧美黄色一级片视频| 欧美无砖砖区免费| 色爱综合网欧美| 中文字幕视频在线免费| 成人黄色av播放免费| 亚洲精品久久久久久下一站| 亚洲综合激情在线| 深夜激情久久| 欧美色图一区| 日本视频在线免费观看| 国产极品jizzhd欧美| 久久99久久99精品免观看粉嫩| 欧美大片日本大片免费观看| 欧美一区二区三区电影| 欧美私模裸体表演在线观看| 91麻豆国产福利精品| 亚洲激情中文在线| 欧美男女视频| 麻豆影院在线| 成人综合av网| 日本在线视频不卡| 日本精品一区二区| 播播国产欧美激情| 国产在线观看一区二区| 粉嫩久久99精品久久久久久夜| 久久影院午夜片一区| 欧美日韩一区二区综合| 亚洲第一二三四区| 欧美日韩导航| 波多野结衣在线观看| 精品国产一区一区二区三亚瑟| 婷婷久久免费视频| 影院在线观看全集免费观看| 九色视频网站| 韩日视频在线观看| 成人精品久久久| 91国产精品91| 精品国内二区三区| 国产精品色视频| 尤物yw午夜国产精品视频| 91日韩在线视频| 日韩一级性生活片| 日本一区二区三区免费观看| 青草成人免费视频| 色呦呦一区二区三区| 亚洲精品日韩欧美| 91久久精品国产91性色| 国产精品第二页| 日本在线观看一区二区三区| 精品久久久久久综合日本| 91精品久久久久久久久久| 亚洲国产成人精品女人久久久 | 日韩亚洲欧美视频| 欧美激情伊人电影| 99热在线国产| 欧美这里只有精品| 黄色一级片播放| 特级西西444| 日韩av资源在线| av在线收看| 9l亚洲国产成人精品一区二三| 欧美激情1区2区| 亚洲欧美色图小说| 久久99热精品| 中文字幕在线乱| √新版天堂资源在线资源| 伊人久久影院| 91小视频在线免费看| 亚洲国产精品推荐| 91精品久久久久久久久久久久久| 天天夜碰日日摸日日澡性色av| 超碰在线网站|