[ActionSprit 3.0]FMSクライアントがサーバ側コマンドまたはメソッドを呼び出す
4166 ワード
クライアントがサーバ側と通信する必要がある場合があり、サーバ側にmainがある.ascファイル(もちろん、ファイル名は自分で定義できます)、これがサーバ側プログラムで、サーバ上で実行されます.traceでデバッグすることができます.traceの内容は管理サーバのページのView Applications>Live Logsオプションで表示されます.管理サーバページC:Program FilesAdobeFlash Media Server 4.5toolsfms_adminConsole.htmlですが、注意しなければならないのは、サーバー側main.ascを修正したら、reloadまたはunloadを覚えておくか、toolsフォルダに行ってStopServerServicesをダブルクリックします.bat、そうでなければ有効ではありません.unloadはウィンドウを閉じ、クライアント接続があるときに自動的に開きます.reloadとunloadボタンはサーバー管理ページLive Logsの最後の位置にあります.次に、簡単な例を示します.
クライアントas:
サービス側asc:
クライアントas:
1 import flash.net.NetConnection;
2 import flash.net.Responder;
3 import flash.events.NetStatusEvent;
4
5 var responder:Responder = new Responder(getResult);
6 var nc:NetConnection = new NetConnection();
7 nc.addEventListener(NetStatusEvent.NET_STATUS,onStatus);
8 nc.connect("rtmp://localhost/HelloWorld");
9 nc.call("serverDo", responder, "FMS World");
10 function getResult(result:Object):void
11 {
12 trace("onReply received value: " + result);//onReply received value: Hello, FMS World!
13 }
14 function onStatus(e:NetStatusEvent):void
15 {
16 trace(e.info.code);
17 }
サービス側asc:
1 application.onConnect = function( client ) {
2
3 // Define new client function for a nc.call().
4 client.serverDo = function( helloStr ) {
5 return "Hello, " + helloStr + "!";
6 }
7
8 // Accept the connection.
9 application.acceptConnection( client );
10 }