使用Red5将ActionScript 3阵列转换为Java ArrayList

时间:2011-07-09 08:29:23

标签: java actionscript-3 red5 netconnection

我在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];

由于某种原因接缝失败。

1 个答案:

答案 0 :(得分: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));

也许也适合你?希望它有所帮助。