当前位置 :主页>知识堂>FMS教程>列表

理解应用程序实例(聊天室房间的划分)

时间:2008-05-07 来源:www.cnblogs.com  作者:三千   点击:
    核心提示:在制作聊天室,斗地主游戏等这样的Flash/FMS程序时,可能会涉及到划分房间的问题,比如二个房间的游戏规则相同,功能相同,但是二个房间的数据独立,互不影响...
在制作聊天室,斗地主游戏等这样的Flash/FMS程序时,可能会涉及到划分房间的问题,比如二个房间的游戏规则相同,功能相同,但是二个房间的数据独立,互不影响。
 
    那么这种应用,就涉及到应用程序实例了,如以下。
 
    nc.connect("rtmp://myDomain.com/chat_app/room_01") 
    nc.connect("rtmp://myDomain.com/chat_app/room_02")
 
    chat_app是一个聊天室程序,room_01和room_02就是chat_app的两个不同实例,整个地址的格式是:

    protocol:[//host][:port]/appname/[instanceName]
 
    地址中的[instanceName]以方括弧表示可有可无,但是不管这个"instanceName"有没有,它都会连接到了一个实例。
    就是说,任何一个客户机连接到一个应用程序时,这个客户机实际上都是连接到一个应用程序实例(application instances)的。
 
    比如我们一般的写法:

    nc.connect("rtmp://myDomain.com/my_app");
 
    本质上他和以下的做法是等同的:

    nc.connect("rtmp://myDomain.com/chat_app/_definst_");
 
    即在这种情况下,默认连接的实例为"_definst_",并不代表没有实例。
 
    那么我们就要好好理解一下“实例”,做过高级语言开发的,就很好理解,就象一个类有多个实例一样,它们具有同样的“规则”,但是具有各自不同的“数据”。
 
    一个实例不需要在服务器上定义它自己的目录。应用程序的资源,比如流和共享对象,对于每个实例而言都是独立的,并且是被存储在这个应用程序的流和共享对象目录下的它们各自的目录中的,比如实例room_01使用的SharedObject对象(比如叫"my_rso"),会存储在"\chat_app\sharedobjects\room_01\my_rso.fso"。
 
    使用应用程序实例的另一个原因是可以避免由这个应用程序创建的记录流或共享对象的冲突。例如,在上面的例子中,room_01和room_02都使用main.asc中的程序规则和逻辑,但是他们的数据各自独立,互不影响。由room_01创建的任何流或共享对象与由room_02创建的都是截然不同的,虽然这两个实例都是运行在同一个应用程序chat_app。
上一篇:Fms 关于房间的划分     下一篇:FMS如何连接FlashRemoting?(附示例源码下载)
版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。
特别注意:本站所提供的源文件,电子书,第三软件,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。
 评论内容:(最新评论共有 0) 位网友发表了评论不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码: 匿名? 马上注册
 
 
知识堂分类
 
本站所提供的所有素材版权归原作者所有,本站只供网友参考与交流,未经作者同意请勿用于商业用途
服务器带宽提供:零刻数据 本站CDN由海诺互动提供技术支持。 下载带宽支持:重庆万网
京ICP备08051668号