Flex中使用RemoteObject与AMFPHP通信出现的问题 100

我为了方便,建立了一个类用于RO的获取如下importmx.rpc.remoting.mxml.RemoteObject;importmx.rpc.AbstractOpe... 我为了方便,建立了一个类用于RO的获取如下
import mx.rpc.remoting.mxml.RemoteObject;
import mx.rpc.AbstractOperation;
public class myRemote
{
private var _remote:RemoteObject=new RemoteObject();
public function myRemote()
{
_remote.destination="amfphp";
_remote.showBusyCursor=true;
_remote.source="amfcommo";
}
public function createRemote(methodName:String,resultEvent:String,faultEvent:String,resultFunction:Function,faultFunction:Function):AbstractOperation{
var ao:AbstractOperation=_remote.getOperation(methodName);
ao.addEventListener(resultEvent,resultFunction);
ao.addEventListener(faultEvent,faultFunction);
return ao;
}
}

然后在需要使用的地方直接
var ao:AbstractOperation=(new myRemote).createRemote('MethodName',ResultEvent.RESULT,FaultEvent.FAULT,resultHandler,faultHandler);
ao.send();

一个使用时情况是正常的,但是我使用两个的时候,就会出现错误提示如下

Channel disconnected
faultCode:Client.Error.DeliveryInDoubt faultString:'Channel disconnected' faultDetail:'Channel disconnected before an acknowledgement was received'

请问是什么原因导致错误,是否有解决方法。谢谢!
“一个使用”和“使用两个”,是这个意思:

我主应用下有两个组件,两个组件都有对PHP调用的需求:
组件A和组件B则分别(new myRemote).createRemote返回了一个AbstractOperation实例,并通过各自的实例对各自方法进行调用,这就是使用两个的意思。使用一个嘛,就是当我先注释任何一个AbstractOperation的send方法时,就正常访问。
展开
 我来答
natian306
2012-09-18
知道答主
回答量:6
采纳率:0%
帮助的人:3.9万
展开全部
我也遇到相同的问题:在一个界面中new 两个RemoteObject,这个两个RemoteObject的destinat是一样的,然后分别调用了RemoteObject的两个方法,就报错了,相关错误信息为:faultCode:Client.Error.DeliveryInDoubt,
faultString:Channel disconnected

很奇怪的是如果只调用其中一个就很正常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
eity0323
2010-03-29 · TA获得超过132个赞
知道答主
回答量:3
采纳率:100%
帮助的人:3854
展开全部
不太理解你说的“一个使用”和“使用两个”,我理解的是:你两次调用了remote对象,而且两次remote使用的MethodName方法名不同,你可以试一下一个remote对象只使用一个MethodName。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式