תÔØʹÓÃPyAmfÀ´ÊµÏÖFlexÓëDjangoµÄͨÐÅ
ÈýÄêÇ°£¬ÓùýAmfPHPÓëFlash/Flex
Remoting×ö¹ý½»»¥£¬×î½ü½Ó´¥Python£¬¹«Ë¾ÏîÄ¿ÓõÄFlex×öÇ°¶Ë£¬ËùÒÔ½Ó´¥ÁËPyAmf¡£PyAmf±¾ÖÊÉϸúAmfPHPÊÇÀ×ͬµÄ¡£¶¼ÊÇͨ
¹ý¶ÔAMFÐÒ飨ActionScript Message Format£©ÐÒéµÄÖ§³ÖÀ´ÊµÏÖ¶ÔFlashµÄ½»»¥¹ý³Ì¡£
Ò»¡¢Ê×ÏÈ£¬¼òµ¥µÄ½éÉÜÒ»ÏÂAMFÐÒé¸ñʽ¡£
AMFÊÇAdobe¶À¼Ò¿ª·¢³öÀ´µÄͨÐÅÐÒ飬Ëü²ÉÓöþ½øÖÆѹËõ£¬ÐòÁл¯¡¢·´ÐòÁл¯¡¢´«ÊäÊý¾Ý£¬´Ó¶øΪFlash ²¥·ÅÆ÷ÓëFlash
RemotingÍø¹ØͨÐÅÌṩÁËÒ»ÖÖÇáÁ¿¼¶µÄ¡¢¸ßЧÄܵÄͨÐÅ·½Ê½¡£AMF×î´óµÄÌØÉ«ÔÚÓÚ¿ÉÖ±½Ó½«FlashÄÚÖöÔÏó£¬ÀýÈçObject, Array,
Date,
XML£¬´«»Ø·þÎñÆ÷¶Ë£¬²¢ÇÒÔÚ·þÎñÆ÷¶Ë×Ô¶¯½øÐнâÎö³ÉÊʵ±µÄ¶ÔÏó£¬Õâ¾Í¼õÇáÁË¿ª·¢ÈËÔ±·±¸´¹¤×÷£¬Í¬Ê±Ò²¸üÊ¡ÁË¿ª·¢Ê±¼ä¡£Ëü²ÉÓöþ½øÖƱàÂ룬¿ÉÒԸ߶ÈѹËõÊý
¾Ý£¬Òò´Ë·Ç³£ÊʺÏÓÃÀ´´«µÝ´óÁ¿µÄ×ÊÁÏ¡£Êý¾ÝÁ¿Ô½´ó£¬Flash RemotingµÄ´«ÊäЧÄܾÍÔ½¸ß£¬Ô¶Ô¶³¬¹ýWeb
ServiceÒÔ¼°Ê¹Óô¿Îı¾µÄ´«Ê䷽ʽµÄXML¡£
AMFÐÒéÊÇ»ùÓÚHttpÐÒéµÄ£¬ËüµÄ´¦Àí¹ý³Ì´óÖÂÈçÏ£º
1¡¢´Ó¿Í»§¶Ë»ñÈ¡HttpÇëÇó(Request)Á÷¡£
2¡¢¶ÔÁ÷½øÐз´ÐòÁл¯£¨Deserialize£©£¬µÃµ½·þÎñÆ÷¶Ë³ÌÐòÄܹ»Ê¶±ðµÄÊý¾Ý£¬²¢½¨Á¢ÏìÓ¦£¨Response£©ÏûÏ¢¡£
3¡¢ÕÒµ½ÏàÓ¦µÄÔ¶³Ì·þÎñ
4¡¢µ÷Ó÷þÎñÆ÷¶Ë·½·¨£¬¶ÔÁ÷½øÐи÷ÖÖ´¦ÀíµÃµ½·µ»ØÖµ¡£
5¡¢ÐòÁл¯ÏìÓ¦Á÷
6¡¢½«ÐòÁл¯ÏìÓ¦Á÷·¢ËÍHttpÏìÓ¦¸ø¿Í»§¶Ë¡£
¶þ¡¢°²×°ÅäÖÃPyAmfºÍDjango
PyAmfÄ¿Ç°µÄÎȶ¨°æ±¾ÊÇ0.3£¬È¥¹Ù·½ÍøÕ¾ÏÂÔØѹËõ°ü£¬½âѹÎļþ£¬Ö´ÐÐpython setup.py install ¼´¿ÉÍê³É°²×°¡£
ÖÁÓÚ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.py startproject fortest
python manage.py
Ïà¹ØÎĵµ£º
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the DateTimeAxis class. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
import mx.collections.ArrayCollection;
......
×î½üÔÚÏîÄ¿ÖÐÓöµ½flex¿çÓò·ÃÎʵݲȫɳÏäÎÊÌ⣬²é×ÊÁÏÁ˽⵽ÐèÒªÔÚ·þÎñ¶Ë¼ÓÉÏcrossdomain.xmlÎļþ£¬¼´£º
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-do ......
ÀûÓÃSocketʵÏÖC++ÓëFlexͨÐÅ
Ò»¡¢C++·þÎñÆ÷¶Ë
£¨ÓõÄÊÇVisual Studio 2008£¨05£¬03µÄÓ¦¸ÃÒ²¿ÉÒÔ£¬VC++µÄ¿ÉÄÜÐèÒªÉÔ΢¸Ä¶¯£©£©
´úÂëÈçÏ£º
#include <winsock2.h>
#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
#pragma comment(lib,"ws2_32.lib ......
ÔÎijö´¦£ºhttp://gnuu.org/2009/09/18/writing-your-own-toy-compiler
1¡¢½éÉÜ
ÎÒ×ÜÊǶԱàÒëÆ÷ºÍÓïÑԷdz£¸ÐÐËȤ£¬µ«ÊÇÐËȤ²¢²»»áÈÃÄã×ߵĸüÔ¶¡£´óÁ¿µÄ±àÒëÆ÷µÄÉè¼Æ¸ÅÄî¿ÉÒÔ¸ãµÄÈκÎÒ»¸ö³ÌÐòÔ±ÃÔʧÔÚÕâЩ¸ÅÄîÖ®ÖС£²»ÓÃ˵£¬ÎÒÒ²Ôø
½ñ³¢ÊÔ¹ý£¬µ«ÊDz¢Ã»ÓÐÈ¡µÃÌ«´óµÄ³É¹¦£¬ÎÒÒÔÇ°µÄ³¢ÊÔ¶¼Í£ÁôÔÚÓïÒå·ÖÎö½×¶Î¡£±¾ÎĵÄÁé¸ÐÖ÷Ò ......