• pyamf官网上推荐了一篇中文howto12),介绍django与flex通信,通过pyamf(一个python的开源api,专门针对amf协议)。其中有个小问题,就是destination的设置。

    共有三处会用到该属性(这篇中文howto只提到了两处),我的代码片段如下:

    1 flex:<mx:RemoteObject
                    id="djangoService"
                    destination="destinationFucker"
                    showBusyCursor="true"/> 

    2 services-config.xml: <destination id="destinationFucker">
                                            <channels>
                                                <channel ref="fuckChannel"/>
                                            </channels>                                  
                                        </destination>

    3  amfgateway.py:   usersGateway = DjangoGateway({
                                        'destinationFucker.testFuck':testFuck,
                                        'destinationFucker.testArrayFuck':testArrayFuck 
                                 })

    深红色的python部分,在原文中是没有destination的(当然原文中也没有fu*k)。 我不知道原文的example是如何测试的,至少我滴环境下(django自带server,无数据库)如果在python(或django)的方法前不加destination(即直接'testArrayFuck':testArrayFuck ),flex是无法找到远程方法testArrayFuck的。

    flex的RemoteObject,天生出来是与java后台相亲相爱的 ,在java中,destination对应的可以是该class名,即:
                  class  destinationFucker
                  {
                        public function  testArrayFuck(){}
                  } 

    而在python中,至少这个example中米有class,所以必须在映射方法testArrayFuck时加上destination才能找到“destinationFucker.testArrayFuck”。

    那么客户端flex及services-config中不写destination行不行涅?
    答案貌似是“不行”,如果在RemoteObject及services-config中去掉destination,运行时会找不到destination而报错。

    那么客户端flex及services-config中destination id=""行不行涅?
    答案也貌似是“不行”,在services-config中destination的id不接受""。至少在flex默认配置下这样是不行滴。

    另外,上边举的那个java的例子,其实我猜的,因为从没用java试过 ^_<

  • 测试了Bruce大师在"Put a Flex UI on your application"中的例程,其中flex端在我的环境下需要个别改动才可运行,记录如下:

     1 as3-rpclib库。直接使用as3-rpclib.swc会报错,说XMLRPCObject覆盖错误。去掉.swc库文件,直接使用as3-rpclib的源代码后跟踪调试,原来在XMLRPCObject.as中两个重载函数“setCredentials与setRemoteCredentials”与基类中的原函数参数个数不一样,少了第三个“charset:String=null”。改动如下:

        /*原:override public function setCredentials (username:String,password:String):void*/
         override public function setCredentials(username:String,password:String,charset:String=null):void

    XMLRPCObject。原文中没有指定XMLRPCObject对象的destination,在我的环境(Flex SDK 3)下编译后"destination"值为“null”,于是gateway的url就变成了“http://localhost:8000null”。改动如下:

    原:<ak33m:XMLRPCObject id="server" endpoint="http://localhost:8000"/>

    改: <xmlrpc:XMLRPCObject id="server" endpoint="http://localhost:9000" destination=""/>

     记录完毕。

     另,集中注意力于前台flex, 用python做测试web server还真是方便高效。嗯,当然其他的语言php、java等其实还没有试过。。。。

  • 2008-05-27

    Flash Effect - [flashy]

    一些flash的轨迹效果,Actionscript3.0

    点击查看原始尺寸

     点击查看原始尺寸点击查看原始尺寸点击查看原始尺寸点击查看原始尺寸

  • 2008-03-22

    惹火上身 - [flashy]

    still from 老外的创意,我拿as3.0重写的。需要摄像头

     

     

  • 2008-03-17

    佳娃 - [flashy]

    首先,标题党。

    本来对使用java一直有些不情愿,也没什么具体原因,可能还是出自对陌生领域的畏缩吧。不过看完这个字符的demo,倒是大大促进了我对她的兴趣,当然也有些历史原因。

    嗯,不过其实还是可以用as来重写的嘛^^   而且,无论如何还有c++这个繁琐却基本万能的退路,嗯嗯 

    图中的ggy65n2sg是一颗红双喜,8块价位的上选烟啊啊啊啊

  • 2008-03-08

    即兴 摄像头demo - [flashy]

    注:需要浏览器支持flash player9.0,以及摄像头

     

     

    demo本天成,妙手偶得之 ,这就是即兴的力量

    idea来自于某老外2005年的一个flash demo,他当时用flash8及actionscript2所写。
    昨天得空用actionscript3重新写一遍, 写到一半时偶尔得到上述效果,觉得不错,存下来。

     

  • 2008-01-27

    避风塘的cairgorm - [flashy]

    嗯。。。papaya大师无意中忘了给家里充电,成全了寡人今天在避风塘里体面的写了一个稍有点体面的cairgorm框架。

    基本参照官方cairgorm的结构,比较大的改动在于把S2Flex2Service集成进去,这样除了常规的httpservice、webservice、remoteobject外,还可以和djangoAMF通信了,嗯嗯,当然还是理论上,本机没有配python环境。

     经过分析,今天在避风塘效率比较高的原因是周围没有美女,不用因为要装b而分神。如果去雕刻时光,可能就不一样了。。。

    其实今天是第一次在公共场合长时间使用电脑- -

    避风塘旁边还开了家7-11,fine,以后夜里下班有地方买吃的了。因为最近太冷,野外的麻辣烫和牛筋面都收了。

    不太满意的是刚才看nba体育新闻时避风塘店员把电视掐了,nnd

  • 2008-01-05

    嗯,养个宠物 - [flashy]

    养个宠物玩,而且跟自己起一个名字。。。是不是有些混乱

     

     虫?龙?蛇?双截棍?九节鞭?

    好像不太乖。。。动不动就游走了

     

  • Rather than being page-driven, Flex applications are event-driven.