FMS3系列(六):使用远程共享对象实现多人实时在线聊天

FMS开发中,经常会使用共享对象来同步用户和存储数据。对于实现广播文字信息实现聊天的支持非常强大,还可以跟踪用户的时时动作,在开发Flash多人在线游戏中的应用也非常广阔。

在使用FMS开发共享对象时需要注意,只有使用Flash Media Interactive Server或Flash Media Development Server这两个版本时才能够创建和使用远程共享对象,来实现多客户端的应用程序之间共享数据。如果是使用的Flash Media Streaming Server版FMS是不能创建远程共享对象的,只能创建本地共享对象,类似于传统Web开发中的Cookie。

使用共享对象(SharedObject)来开发时时文字聊天其实是很简单的,SharedObject可以跟踪和广播消息,连接到SharedObject中的其中任何一个客户端改变了SharedObject中的数据,SharedObject就会将最新的数据广播到连接到它的所有客户端。从某种角度可以理解为远程的SharedObject是一个同步很多用户的一个网络中心。下图为官方发布的SharedObject广播消息图:


本文是通过实现一个简单的文字聊天来介绍FMS中的远程共享对象的使用,首先在FMS中建立好应用程序名,既在FMS的安装目录下的applications下建立一文件夹,来作为共享对象应用程序使用,如下图所示:


如上图,SharedObjectApp就是为实现聊天建立的一个FMS应用文件夹,其下的sharedobjects/_definse_为成功创建远程对象后自动生成的目录。如果你所创建的为永久性的远程共享对象,则在该目录下还将会有一个以.fso为扩展名的远程共享对象文件。

时间: 2024-09-21 01:48:41

FMS3系列(六):使用远程共享对象实现多人实时在线聊天的相关文章

Flash/Flex学习笔记(15):FMS 3.5之远程共享对象(Remote Shared Object)

FMS中的"远程共享对象"可以让多个Client端的flash应用共享同一个全局对象,并且当客户端中的任何一个改变该对象时,系统会自动将该对象回发到FMS服务器,同时FMS服务器也会将该对象重新广播到所有客户端.   说得更通俗一点:如果二个机器上浏览这种flash应用,在一台机器上所做的操作,将会在另一台机器同步体现出来.   这个能干嘛? 电子教室(比如老师在一台机器上演示教学,其它所有机器上能同步刷新),互动游戏(比如:游戏中的情侣可以在异地同时装修自己的房子),需要在服务端保存

FluorineFx:远程共享对象(Remote SharedObjects)

单纯从客户端上来看,FluorineFx的RSO跟FMS中的RSO几乎没什么不同(参见Flash/Flex学习笔记(15):FMS 3.5之远程共享对象(Remote Shared Object) ),只不过FMS是Adobe的收费产品,FluorineFx是用于.Net平台的开源免费产品 . 服务端代码: 1.为了防止客户端随意连接或创建任何属性的RSO,服务端可以定义一个用于安全处理的cs文件 using System.Collections; using FluorineFx.Messag

FluorineFx:基于RSO(远程共享对象)的文本聊天室

在前一篇"FluorineFx:远程共享对象(Remote SharedObjects)"里,已经大致知道了在FluorineFX中如何使用RSO,这一篇将利用RSO完成一个简单的文本聊天室. 原理: RSO对象中,创建二个属性:msg和online,分别用来保存"用户每次发送的聊天内容"以及"在线用户列表" 运行截图: 服务端代码: using System.Collections; using FluorineFx.Messaging.Api

Flashcom中远程共享对象SharedObject的用法

object|对象 学习fcs也有差不多一个月了,感觉最有特色的东西还是SharedObject.SharedObject有不少东西,本地操作就不说了(相信很多人没接触fcs也用过);就说说远程共享对象吧.基本的应用流程是: my_nc = new NetConnection(); my_nc.connect("rtmp:/app",变量1,变量2,...); mySO=getRemote("mySO",my_nc.uri,false) mySO.connect(m

SQL Server 2008空间数据应用系列六:基于SQLCRL的空间数据可编程性

原文:SQL Server 2008空间数据应用系列六:基于SQLCRL的空间数据可编程性 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 3.具有使用 Microsoft Visual Studio 进行 Microsoft .NET Framework开发的经验. 4.熟悉或了解Microsoft S

Silverlight & Blend动画设计系列六

Silverlight & Blend动画设计系列六:动画技巧(Animation Techniques)之对象与路径转化.波感特效 当我们在进行Silverlight & Blend进行动画设计的过程中,可能需要设计出很多效 果不一的图形图像出来作为动画的基本组成元素.然而在设计过程中可能会出现许多的问题 ,比如当前绘制了一个椭圆,但是在动画中仅仅只需要椭圆的一半或是更多更少的部分用作 与动画元素,这时候就需要对椭圆对象进行相应的处理才能满足我们的需求,那到底该怎么 做才能实现最终想要的

iOS流布局UICollectionView系列六——将布局从平面应用到空间

iOS流布局UICollectionView系列六--将布局从平面应用到空间 一.引言         前面,我们将布局由线性的瀑布流布局扩展到了圆环布局,这使我们使用UICollectionView的布局思路大大迈进了一步,这次,我们玩的更加炫一些,想办法将布局应用的空间,你是否还记得,在管理布局的item的具体属性的类UICollectionViewLayoutAttributrs类中,有transform3D这个属性,通过这个属性的设置,我们真的可以在空间的坐标系中进行布局设计.iOS系统

怎样高清录制本地会议和实现远程共享

本地会议录播是指在会议室.教室或者演艺厅通过安装的摄像头连接到录像机并且录像机再连接到显示器进行录像和播放的过程.本地会议录播系统成本比较低,使用也比较方便.本地会议和视频会议不同,视频会议是指开会的双方或者多方会场距离较远,通过视频会议终端设备,实现点对点或者各个会场相互之间的即时视频和语音互动交流,但视频会议终端设备的成本比较高.随着互联网+时代的到来,很多领域在开本地会议的时候,不仅需要本地录像和播放,还需要让远在外地的单位或者个人同时能看到和听到会议实况,本文就怎样高清录制本地会议和实现

BootStrap智能表单实战系列(六)表单编辑页面的数据绑定_javascript技巧

什么是 Bootstrap? Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的. 历史 Bootstrap 是由 Twitter 的 Mark Otto 和 Jacob Thornton 开发的.Bootstrap 是 2011 年八月在 GitHub 上发布的开源产品. Bootstrap 包的内容 基本结构:Bootstrap 提供了一个带有网格系统.链接样式.背景的基本结构.这将在 Bootst