1

我在 AS3 中创建一个数组并使用 NetConnection 将其发送到 red5 服务器,如下所示:

var data:Array = new Array();

data.push("getTest");

NC.call("getUsers", new Responder(onSuccess, onFail), data);

在服务器端:

public Object getUsers(Object[] params) {

        logger.warn("params = "+params);
        logger.warn(params[0]);
        List<Object> u = (ArrayList<Object>)params[0];
        logger.warn(u.get(0));

        return params;
}

但是这条线:

List<Object> u = (ArrayList<Object>)params[0];

接缝因某种原因失败。

4

1 回答 1

2

我对 Java 不是很熟悉,但我想我在尝试传入参数数组时遇到了与 AMFPHP 类似的远程处理问题,但没有在服务器端将其读取为数组。我的解决方案是(在 Actionscript 中)使用Function.apply方法。在您的情况下,它看起来像:

var data:Array = new Array();

data.push("getTest");

NC.call.apply(this, ["getUsers", new Responder(onSuccess, onFail)].concat(data));

也许也可以为你工作?希望能帮助到你。

于 2011-07-09T17:46:25.157 回答