?服务器端Application提供一个供Flex客户端远程调用的方法getMyName,代码如下:
- package?org.chy.flex02;??
- ??
- import?org.red5.server.adapter.ApplicationAdapter;??
- public?class?Application?extends?ApplicationAdapter{??
- ??????????
- ????????public?String?getMyName(String?id){??
- ????????????if("001".equals(id)){??
- ????????????????return?"ChenYang";??
- ????????????}??
- ????????????return?"JAVA&Flex";??
- ????????}??
- ??
- }??
客户端Flex程序,当用户点击'get name'按钮时,远程调用getMyName方法。响应给客户端.
copy
<?xml?version="1.0"?encoding="utf-8"?>??
- <mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="absolute"?width="355"?height="176"?applicationComplete="init()">??
- ????<mx:Script>??
- ????????<!--[CDATA[??
- ??????????????
- import?flash.net.NetConnection;??
- import?flash.net.NetStream;??
- private?var?nc:NetConnection??
- private?function?init():void{??
- ????????????????nc?=?new?NetConnection();??
- ????????????????nc.addEventListener(NetStatusEvent.NET_STATUS,connectHandler);??
- ????????????????nc.client?=?this;??
- ????????????????nc.connect("rtmp://localhost:1935/Flex02");??
- ????????????}??
- ??????????????
- private?function?getName():void{??
- ????????????????nc.call("getMyName",new?Responder(okHandle,failureHandle),"001");??
- public?function?okHandle(result:String): ????????????????trace("ok:"+result);??
- ????????????????myname.text=result;??
- public?function?failureHandle(result:String): ????????????????trace("failure:"+result);??
- private?function?connectHandler(evt:NetStatusEvent): ????????????????trace("code:"+evt.info.code);??
- ????????????????if(evt.info.code?!=?"NetConnection.Connect.Success"){??
- ????????????????????nc.removeEventListener(NetStatusEvent.NET_STATUS,connectHandler);??
- ????????????????}??
- public?function?onBWDone(): ????????]]-->??
- ????</mx:Script>??
- ??????
- ????<mx:Button?x="36"?y="72"?label="get?name"?click="getName()"/>??
- ????<mx:TextInput?x="124"?y="72"?width="173"?id="myname"/>??
- </mx:Application>??
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|