FluorineFx+Flex视频聊天室案例开发----客户端

2012-03-24
浏览
导读:上一篇《FluorineFx + Flex视频聊天室案例开发----服务器端》详细的介绍了如何利用 FluorineFx开发一个及时通信的视频聊天室服务器处理程序,并通过Web网站来宿

上一篇《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();
}

Flash基础教程 动画基础知识

flash as3.0 跨域的解决办法

网络相册开发(8)——Cairngorm架构浅析

Flex中PureMVC学习小结

Flex与.NET互操作(十六):FluorineFx + F