我在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];
由于某种原因接缝失败。
答案 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));
也许也适合你?希望它有所帮助。