gpt4 book ai didi

python - 使用 mx :RemoteObject with web2py's @service. amfrpc 装饰器

转载 作者:太空宇宙 更新时间:2023-11-04 06:31:55 25 4
gpt4 key购买 nike

我正在使用 web2py (v1.63) 和 Flex 3。web2py v1.61 引入了@service 装饰器,它允许您使用@service.amfrpc 标记 Controller 功能。然后,您可以使用 http://..../app/default/call/amfrpc/[function] 远程调用该函数。参见 http://www.web2py.com/examples/default/tools#services .有没有人举例说明如何设置 Flex 3 来调用这样的函数?到目前为止,这是我尝试过的:

<mx:RemoteObject id="myRemote" destination="amfrpc" source="amfrpc"
endpoint="http://{mysite}/{myapp}/default/call/amfrpc/">
<mx:method name="getContacts"
result="show_results(event)"
fault="on_fault(event)" />
</mx:RemoteObject>

在我的场景中,destination 和 source 属性的值应该是多少?我已经阅读了几篇关于非 web2py 实现的文章,例如 http://corlan.org/2008/10/10/flex-and-php-remoting-with-amfphp/ ,但他们使用 .../gateway.php 文件而不是使用直接映射到函数的 URI。

或者,我已经能够使用 flash.net.NetConnection 成功调用我的远程函数,但我发现的大多数文档都认为这是执行 AMF 的旧的、Flex 3 之前的方法。参见 http://pyamf.org/wiki/HelloWorld/Flex .这是 NetConnection 代码:

gateway = new NetConnection();
gateway.connect("http://{mysite}/{myapp}/default/call/amfrpc/");
resp = new Responder(show_results, on_fault);
gateway.call("getContacts", resp);

-罗布

最佳答案

我还没有找到将 RemoteObject 与 @service.amfrpc 装饰器一起使用的方法。但是,我可以通过 NetConnection(类似于我最初发布的内容)来使用较旧的 ActionScript 代码,并将其与 web2py 端的 @service.amfrpc 函数配对。这似乎工作正常。您希望在我最初共享的 NetConnection 代码中更改的一件事是为连接状态添加一个事件监听器。如果您觉得需要,可以添加更多的监听器,但我发现 NetStatusEvent 是必须的。如果服务器没有响应,将触发此状态。您的连接设置如下所示:

gateway = new NetConnection();
gateway.addEventListener(NetStatusEvent.NET_STATUS, gateway_status);
gateway.connect("http://127.0.0.1:8000/robs_amf/default/call/amfrpc/");
resp = new Responder(show_results, on_fault);
gateway.call("getContacts", resp);

-罗布

关于python - 使用 mx :RemoteObject with web2py's @service. amfrpc 装饰器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/927028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com