[导入][FMS开发笔记]理解应用程序实例(聊天室房间的划分)
2008-09-24 14:40
239 查看
在制作聊天室,斗地主游戏等这样的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。
[新闻]图文直播:第一款"Google手机"发布
博客园首页 社区 新闻频道 小组 博问 网摘 闪存
文章来源:http://www.cnblogs.com/yao/archive/2008/02/29/1085654.html
那么这种应用,就涉及到应用程序实例了,如以下。
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。
[新闻]图文直播:第一款"Google手机"发布
博客园首页 社区 新闻频道 小组 博问 网摘 闪存
文章来源:http://www.cnblogs.com/yao/archive/2008/02/29/1085654.html
相关文章推荐
- [FMS开发笔记]理解应用程序实例(聊天室房间的划分)
- 理解FMS应用程序实例
- 读《Yii 1.1应用程序开发实例》 笔记 1
- 理解FMS应用程序实例
- Android基于XMPP Smack openfire 开发的聊天室(六) 【加入房间、权限错误】
- IOS开发之小实例--使用UIImagePickerController创建一个简单的相机应用程序
- Android开发笔记4----应用程序组成
- Caffe实例开发学习笔记。——网络配置文件 Layer参数详解——
- [导入]构建WCF面向服务的应用程序系列课程(8):实例模型.zip(15.61 MB)
- 敏捷开发(名字起得很帅,很忽悠人)原则 括号里面加了自己的理解笔记
- 实例开发聊天室 tcp协议
- .Net开发笔记(十七) 应用程序扩展
- iPhone应用程序开发指南 学习笔记
- 实例C#开发TCP/IP聊天室
- SilverLight商业应用程序开发---学习笔记(9)从摘要信息跳转到详细信息 导航到细节视图 在弹出窗体打开细节视图 使用DataGrid控件的行细节显示特性显示细节内容 主/从视图的实现
- SharePoint开发笔记-SharePoint2010添加ASP.NET应用程序
- .Net开发笔记(十七) 应用程序扩展
- 《ASP.NET办公自动化系统开发实例导航》笔记三
- Xcode 实战开发学习笔记 之调试应用程序两个有用的命令
- UML笔记补充——活动图的简单理解(看书过程中看到的经典实例,记录下来,以免忘了)