FluorineFx+Flex视频聊天室案例开发----客户端
上一篇《FluorineFx + Flex视频聊天室案例开发----服务器端》详细的介绍了如何利用 FluorineFx开发一个及时通信的视频聊天室服务器处理程序,并通过Web网站来宿主这个服务 处理程序的运行。本篇将着重介绍视频聊天室的客户端开发,包括连接RTMP服务器、发布视 频、接收视频、在线用户列表、发送文本消息以及全服务器小喇叭功能点。
上述这些功能点在我以前写的文章里已经出现了N多次了,所以这里我不想过多的在次对 他们进行解说,详细请查阅《Flex与.NET互操作系列文章 》,这里我将核心的几个方法代码 贴出来简单说明。首先就是客户实现用户登录,通过FluorineFx提供的RemotingService的接 口方法进行数据验证。
private function onLogin(event:MouseEvent):void { remoteConn = new RemotingConnection ("http://localhost:2020/ChatRoom.FluorineFxWeb/Gateway.aspx",ObjectEncoding.AMF3) ; myInfo = new UserInfo(); myInfo.UserName=this.txtUserName.text; myInfo.Password=this.txtPassword.text; remoteConn.RemotingCall ("ChatRoom.Services.DataService.Login",onLoginResult,onLoginFault,myInfo); } private function onLoginResult(result:UserInfo):void { if(result != null) { this.myInfo = result; this.viewStack.selectedChild = chatView; rtmpnc = new RtmpConnection ("rtmp://localhost:2777/VideoChat",ObjectEncoding.AMF3,onNetStatusHandler,myInfo) ; } else { this.lbState.text = "登陆失败,用户名或密码错误!"; } } private function onLoginFault(event:Object):void { this.lbState.text = "登陆失败,请重试!"; } private function onClear(event:MouseEvent):void { this.txtUserName.text=""; this.txtPassword.text=""; this.lbState.text=""; this.txtUserName.setFocus(); }