FMS中的“远程共享对象”可以让多个Client端的flash应用共享同一个全局对象,并且当客户端中的任何一个改变该对象时,系统会自动将该对象回发到FMS服务器,同时FMS服务器也会将该对象重新广播到所有客户端。
说得更通俗一点:如果二个机器上浏览这种flash应用,在一台机器上所做的操作,将会在另一台机器同步体现出来。
这个能干嘛? 电子教室(比如老师在一台机器上演示教学,其它所有机器上能同步刷新),互动游戏(比如:游戏中的情侣可以在异地同时装修自己的房子),需要在服务端保存记录的聊天室应用(把聊天室的聊天记录当成一个共享对象即可)...
下面的代码出处FMS的官方示例,在一台机器上拖动小球的位置,另一台机器上的小球也会同步移动
var
nc:NetConnection =
new
NetConnection();
var
so:SharedObject;
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
// sharedBall是舞台上的一个小球实例
sharedBall.addEventListener(MouseEvent.MOUSE_DOWN, pickup);
sharedBall.addEventListener(MouseEvent.MOUSE_UP, place);
sharedBall.addEventListener(MouseEvent.MOUSE_MOVE, moveIt);
sharedBall.addEventListener(MouseEvent.MOUSE_OVER,mouseOverHandler);
sharedBall.addEventListener(MouseEvent.MOUSE_OUT,mouseOutHandler);
function
mouseOverHandler(e:MouseEvent) {
Mouse.cursor=MouseCursor.HAND;
}
function
mouseOutHandler(e:MouseEvent) {
Mouse.cursor=MouseCursor.ARROW;
}
nc.connect(
"rtmp://localhost/SharedBall"
);//连接到FMS
function
netStatusHandler(e:NetStatusEvent) {
switch
(e.info.code) {
case
"NetConnection.Connect.Success"
:
trace
(
"Congratulations! you're connected"
);
so=SharedObject.getRemote(
"ballPosition"
,nc.uri,
false
);
so.connect(nc);
so.addEventListener(SyncEvent.SYNC, syncHandler);
break
;
default
:
break
;
}
}
function
pickup(e:MouseEvent):
void
{
e.target.startDrag();
}
function
place(e:MouseEvent):
void
{
e.target.stopDrag();
}
function
moveIt( e:MouseEvent ):
void
{
if
(so!=
null
) {
//移动时,修改共享对象so的属性值
so.setProperty(
"x"
, sharedBall.x);
so.setProperty(
"y"
, sharedBall.y);
}
}
function
syncHandler(e:SyncEvent):
void
{
//so有一个对象data,用来保存用户设置的属性值
trace
(so.data.x);
trace
(so.data.y);
//程序首次进入时,共享对象还没有值,所以要判断设置初始值
if
(so.data.x==
undefined
||so.data.y==
undefined
) {
sharedBall.x =
50
;
sharedBall.y =
50
;
}
else
{
sharedBall.x=so.data.x;
sharedBall.y=so.data.y;
}
}
分享到:
相关推荐
流媒体服务器FMS3.5 sn:1373-5465-5574-9110-6240-7230
fms3.5注册机 (肯定可用)fms3.5注册机 (肯定可用)fms3.5注册机 (肯定可用)fms3.5注册机 (肯定可用)
Flash+Media+Server3.5使用教程中文版本··························
Adobe FMS3.5 PPT 教程.学习FMS必看!
破解FMS4.0 FMS3.5,本人FMS4.0成功
FlashMediaServer无限制 完全剖解,仅供flash编程爱好者使用,其它商业用途 后果自负。 linux安装FlashMediaServer http://www.vpswz.com/592.html http://blog.csdn.net/china_skag/article/details/7276674 ...
环境配置:flash+fms2.0+php+mySQL 1:php环境 推荐使用APMServ5.2.0 (一键配置php) 2:fms环境:fms2.0 登陆用户名:10001-10010 密码都是123456 不明白的可以进QQ群 本引擎QQ交流群:73944013 解压密码在包内的...
FMS+FLEX-----使用远程共享对象实现多人实时在线聊天 说明:这是我在网上看到的,收集并整理了一下。 因为我的积分不多了,所以虽然不是原创,但还是要一点资源分的。大家见谅。 压缩包中有说明文档和源码。说明...
FlashMediaServer3 视频流开发中文文档
多路超图分割算法:FMS (Fiduccia-Mattheyses-Sanchis)、PLM (Partitioning by Locked Moves)、PFM (Partitioning by Free Moves)、SA (Simulated Annealing - 2 个版本)、RSA (Simulated Annealing with ratio cut ...
此文档是由flashmediaserver_3.5_dev_guide翻译而来,只是简单概括,详细内容请查看原文档。
利用flex和FMS建立聊天室,fms为源码
FMS学习教程,FMS视频,视频聊天,视频录制,FMS,AS3
NULL 博文链接:https://abstractforever.iteye.com/blog/524123
最新的关于flashmeidasever的
fms实现的视频播放系统,带说明,带安装说明带文档
Flex和Fms3打造在线聊天室(利用NetConnection对象和SharedObject对象) 中文说明文档和代码, 简单明了好资料
附件是FMS3(V3.5.2)最新高级版(FMIS)含破解第2部分,共7部分,附件是WINDOWS版,仅供FLASH流媒体爱好者学习使用,请勿作为其他用途,否则后果自负。
FlashMediaServer3.5.2无限制 完全剖解,仅供flash编程爱好者使用,其它商业用途 后果自负。
FMS的最新版本已经到FMS 3了 ,本入门教程使用Flash Media Server 2 演示,但你可以很容易的升到 3,因为FMS 到 FMS3...我把我以前的那些FMS学习笔记整理了一下,做了下修改,成了一页的FMS教程,方便想学FMS的新手来看