[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:
 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 }