java - 使用 flex netConnection.call 方法检索列表

标签 java actionscript-3 red5

我正在使用 red5 和带有 AS3 的自定义 Flex 客户端进行一些测试,类似于他们在带有 AS2 的 Flash 上使用的简单广播器。但我在服务器上添加了一个功能

public List<String> listaCanales(){
        List<String> canales = new ArrayList<String>();
        canales.add("Canal 1");
        canales.add("Canal 2");
        canales.add("Canal 3");
        canales.add("Canal 4");
        canales.add("Canal x");
        return canales;
    }

这个函数只是一个测试,其想法是检索我在 red5 上创建的所有 channel ,最终将 channel 作为范围。

我之前创建了一个名为 add 的小函数,它可以工作

public int add(int a, int b){
        return a+b;
    }

这是我调用 add 函数的方式

connection  = new NetConnection();
connection.connect("rtmp://"+servidor+"/"+red5App);
connection.addEventListener(NetStatusEvent.NET_STATUS, onConnected);
connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
var nr:Responder = new Responder(netResponderHandler);
connection.call("add", nr,5,6);

它可以与 add 函数一起使用,但是当我尝试 listaCanales 函数时,它就像 netResponder 处理程序不起作用。

connection  = new NetConnection();
connection.connect("rtmp://"+servidor+"/"+red5App);
connection.addEventListener(NetStatusEvent.NET_STATUS, onConnected);
connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
var nr:Responder = new Responder(netResponderHandler);
connection.call("listaCanales", nr,null);

connection.call("listaCanales", nr);

这是我的 netResponderHandler

protected function netResponderHandler(serverResult:Object):void
{   
    registros("Something happened");
    //registros("The result is " + serverResult);
}

最佳答案

当你说我创建了一个小函数xzy时,我假设你的测试函数是一个充当“web.handler”的类。所以这个函数位于一个扩展了Red5的ApplicationAdapter的类中。

如果 Red5 服务器无法处理该调用(因为它无法将请求映射到 ApplicationAdapter 中的特定方法),那么您将在 red5 或错误日志文件中看到一些日志条目。

你检查过那些日志吗?

当你将conf/logback.xml中的调试级别从INFO提高到更高级别时,你能看到请求吗?

我也想知道你的 AS 脚本,实际上你应该等待方法调用,直到收到连接成功方法。不只是在一行中调用所有方法。您必须编写此事件驱动的代码。 因此,在“onconnect”处理程序中,您检查 => 连接成功。然后你继续你的程序来调用/测试你的方法。

塞巴斯蒂安

关于java - 使用 flex netConnection.call 方法检索列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13125716/

相关文章:

java - SQLException : Access denied for user 'whatever' @'localhost'

php - 在AS3中使用自定义类处理数据库查询

javascript - 从 AS3 客户端运行 MongoDB 查询?

actionscript-3 - AS3 addEventListener 在我的自定义类中不是可识别的方法

video - 将 avi 流式传输到 red5 服务器

java - Dropbox 应用程序如何访问我的应用程序缓存? (安卓)

java - 客户端的 BufferedReader 未使用套接字从服务器接收行(Java)

java - 类型不匹配 : cannot convert from integer to boolean

flash - Red5 和 Flash Media Server 有什么区别

java - 如何将 RTMP 流重定向到客户端