<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="TextSO ();">
<mx:Script>
<![CDATA[
import flash.events.SyncEvent;
import flash.events.NetStatusEvent;
import flash.events.MouseEvent;
import flash.net.SharedObject;
import flash.net.NetConnection;
private var text_so:SharedObject;
private var nc:NetConnection;
private var rtmpGo:String;
private var good:Boolean;
public function TextSO ():void
{
button.label="Send";
button.addEventListener (MouseEvent.CLICK,sendMsg);//为发送按钮添加发送事件
rtmpGo = "rtmp://172.16.41.27/chat";//这里设置FMS服务器的连接地址
//FMS安装目录下Applications下自己手动新建的一个文件夹名称,也是FMS的工程名,就是这么简洁,不可意议
nc = new NetConnection( );//产生一个连接对象
nc.connect (rtmpGo);//连接到上面的地址
nc.addEventListener (NetStatusEvent.NET_STATUS,doSO);//加入连接的监听事件,以便根据连接返回的状态做相应处理
}
private function doSO (e:NetStatusEvent):void
{
good=e.info.code == "NetConnection.Connect.Success";//判断是否为连接成功状态
//连接返回的状态有好几种,大家可以参看FMS的文档,很详尽
if (good)//如果连接成轼,执行如下操作
{
text_so=SharedObject.getRemote("test",nc.uri,true);//得到远程共享对象,false属性是设置共享的数据为非持久化的,
//即重启服务器后,先前的数据不会保存
text_so.connect (nc);
text_so.addEventListener (SyncEvent.SYNC,checkSO);
//为共享对象添加异步事件,这也是服务器同步处理多客户端最关键的地方,
//一个客户端进行了什么操作,其它客户端也会有相应的变化,就是通过此事件来完成的
}
}
private function checkSO (e:SyncEvent):void
{
for (var chng:uint; chng<e.changeList.length; chng++)
{
switch (e.changeList[chng].code)
{
case "clear" :
break;
case "success" :
trace (text_so.data.msg);
break;
case "change" ://一个客户端改变数据会更新所有客户端
textArea.htmlText+=text_so.data.msg + "\n";
break;
}
}
}
private function sendMsg (e:MouseEvent):void
{
text_so.setProperty ("msg",textInput.text);//将新的信息存入共享对象
textArea.htmlText+=text_so.data.msg + "\n";//更新客户端的信息列表
text_so.flush();
}
]]>
</mx:Script>
<mx:VBox>
<mx:TextArea id="textArea" width="200" height="200"/>
<mx:TextInput id="textInput"/>
<mx:Button id="button" />
</mx:VBox>
</mx:Application>
分享到:
相关推荐
用flex开的的一个聊天室入门小例子,只是实现简单功能!!
通过这个简单的Flex聊天室实例,你可以了解Flex的基础架构和开发流程,为进一步学习Flex和构建更复杂的RIA奠定基础。同时,这个项目也提供了一个实际操作的平台,让你能够将理论知识应用到实践中。
二、FLEX聊天室架构 一个基于FLEX的聊天室系统通常由以下几个主要部分构成: 1. **服务器端**:负责处理用户请求,如接收消息、管理聊天室、处理用户登录和权限验证等。可以使用Flash Media Server或开源的Red5等...
NULL 博文链接:https://xiaoa7.iteye.com/blog/267087
《基于Flex的Flash聊天室实现详解》 在Web开发领域,构建实时互动的聊天室是一项常见的需求,而基于Adobe Flex的Flash技术曾是实现此类应用的主流选择之一。本文将深入探讨如何使用Flex来创建一个功能完备的Flash...
Flex视频聊天室源码是一种基于Adobe Flex框架开发的实时通讯应用程序,主要用于实现视频聊天功能。Flex是基于ActionScript 3.0的开放源代码SDK,它允许开发者创建丰富的互联网应用程序(RIA),这些程序可以在多种...
在本文中,我们将深入探讨如何使用Red5部署一个基于Flex的简单聊天室源代码。Red5是一款开源的流媒体服务器,而Flex是一种用于构建富互联网应用程序(RIA)的开发工具,通常与Adobe Flash Player一起使用。这个示例...
FluorineFx+Flex视频聊天室源代码是一款基于开源RTMP服务器FluorineFx构建的多人在线交流平台,其主要特点在于提供实时的视频和文字聊天功能,同时还包括了小喇叭全服务器喊话这样的特色功能。让我们深入探讨一下这...
在“flex3 聊天室 视频,音频”这个项目中,我们看到的是一个集成了视频和音频功能的聊天室应用。 Red5是一个开源的流媒体服务器,它支持实时传输协议(RTMP),可以处理音频、视频和数据流。在Flex3聊天室中,Red5...
必须先装AIR flex聊天室,CS3脚本开发
Flex + .NET 聊天室是一个集成技术的实例,它结合了Adobe Flex前端开发框架与Microsoft .NET后端技术,构建了一个实时的在线交流平台。在这个系统中,Flex作为用户界面层,提供了丰富的交互体验,而.NET则作为服务器...
【Flex视频聊天室】是一个基于Adobe Flash Media Server (FMS) 开发的在线交互平台,主要功能是提供实时的文本和视频通信。这个项目的核心技术是Adobe Flex,它是一种用于构建富互联网应用程序(RIA)的开发框架,...
在本项目"Flex实现的视频聊天室"中,开发者利用Flex的强大功能,创建了一个可供多人实时交流的在线视频聊天平台。这个聊天室允许用户通过网络摄像头分享视频,并进行音频通信,提供了类似于现实生活中面对面交谈的...
实际学习时,你可能会从创建基本的Flex项目开始,然后逐步添加聊天功能,实现用户注册、登录,创建和加入聊天室,发送和接收消息,到最后的测试和部署。如果能访问到原文链接,将能得到更详尽的步骤和示例代码。
本项目名为“flex、java聊天室”,结合提供的标签“源码”和“工具”,我们可以推断这是一个使用Adobe Flex作为前端UI框架,Java作为后端服务器平台的聊天应用实例。下面将详细介绍Flex和Java在聊天室实现中的关键...
flex4 socket 聊天室 源码 直接导入就可以用
【标题】:“Flex图文混排聊天室客户端” 在IT领域,Flex是一种基于Adobe Flash Player运行时的开源框架,主要用于构建富互联网应用程序(RIA)。这个“Flex图文混排聊天室客户端”项目显然是一款使用Flex技术开发...
Java BlazeDS Flex 服务器消息推技术是Web应用程序中实现实时通信的一种有效方法,尤其适用于构建交互性强的聊天室等应用。BlazeDS是Adobe提供的一个开源项目,它为Java服务器和Flex客户端之间的数据交换提供了丰富...