您的位置:首页 > 移动开发 > Objective-C

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

2009-05-04 00:36 821 查看
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广播消息图:

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12">

<mx:Script>

<![CDATA[

import mx.controls.Alert;

import mx.collections.ArrayCollection;

import flex.VO.Message;

private var nc:NetConnection;

private var so:SharedObject;

private function onClick():void

private function onNetStatusHandler(evt:NetStatusEvent):void

private function onSyncHandler(evt:SyncEvent):void

private function onSend():void

private function convertArrayCollection(arrNew:ArrayCollection,arrOld:ArrayCollection):void

]]>

</mx:Script>

<mx:Panel x="22" y="22" width="482" height="260" layout="absolute" id="panChat"

title="文字聊天">

<mx:TextArea x="0" y="0" width="100%" height="100%" backgroundColor="#FCDADA" id="msgText"/>

<mx:ControlBar>

<mx:TextInput width="53" id="txtUser"/>

<mx:Label text="说:"/>

<mx:TextInput width="195" id="txtMessage"/>

<mx:Button label="Send" click="onSend()"/>

<mx:Button label="Connection" fontWeight="normal" click="onClick()"/>

</mx:ControlBar>

</mx:Panel>

</mx:Application>

程序运行截图如下:



图1----FMS状态图



图2----聊天客户端(张三)



图3----聊天客户端(李四)



如上图,在FMS应用目录下创建了一后缀为.fso的文件,这就是永久性的远程共享对象文件名。在使用远程共享的时候,根据实际需求来确定是否使用永久性的远程共享对象,一般做聊天应用我个人建议使用临时远程共享对象(不生成.fso文件),要存储聊天记录可以通过其他方式来保存。

详细大家可以查看官方提供的文档,在FMS的安装目录下就有,我的是D:\Adobe\Flash Media Server 3\documentation\flashmediaserver_AS3LR\index.html

本文就介绍于此,如文中有什么问题,请大家拍砖指正。[b]本文示例源代码下载[/b]

版权说明

本文属原创文章,欢迎转载,其版权归作者和博客园共有。

作 者:Beniao

文章出处:http://beniao.cnblogs.com/http://www.cnblogs.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐