1

私は、AS2 を使用した Flash にある単純なブロードキャスターと同様に、AS3 を使用した red5 とカスタム フレックス クライアントを使用していくつかのテストを行っていました。しかし、私はサーバーに機能を追加しました

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 で作成したすべてのチャネルを最終的にスコープとして取得することです。

add beforeという小さな関数を作成しましたが、動作します

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);
}
4

1 に答える 1

0

私が小さな関数xzyを作成したと言うとき、あなたのテスト関数はあなたの「web.handler」として機能するクラスであると思います。したがって、この関数は、Red5のApplicationAdapterを拡張するクラス内にあります。

Red5サーバーが呼び出しを処理できない場合(ApplicationAdapterの特定のメソッドに要求をマップできないため)、red5またはエラーログファイルのいずれかにログエントリが表示されます。

それらのログを確認しましたか?

conf / logback.xmlのデバッグレベルをINFOからより高いレベルに上げると、リクエストが表示されますか?

また、ASスクリプトについても疑問に思いますが、実際には、connection-successメソッドを受信するまでメソッド呼び出しを待つ必要があります。すべてのメソッドを1行で呼び出すだけではありません。このイベント駆動型をコーディングする必要があります。したがって、「onconnect」ハンドラーで、=>接続の成功を確認します。次に、プログラムを続行してメソッドを呼び出し/テストします。

セバスチャン

于 2012-10-30T10:03:25.157 に答える