### 文档阅读 ###
1. ApplicationFrame.doc
Q:一个Client上的每一个component都会发出一次enroll请求?
Q:What is resource update exactly ?
* 几个概念关系
ConferenceManage -> ComponentManage -> ComponentContainer -> Component
-> ComponentLayout
-> Session
Q:画一个sequence diagram,描述join conference中这几个对象之间的消息传递
Q:Session与Component之间的关系是什么?
Q:EMF与NDF之间的关系?NDF中的页数据是由EMF来实现?
2. MeetingClient.doc
* component与session
用户需要加载某一个具体的功能模块时,Application通过课程管理模块操作Conference,在Conference中创建一个Session,当Session创建成功后,Application新建一个Container,去加载具体的功能模块DLL,然后把前面创建成功的Session绑定在此功能模块上,从而功能模块就有了数据通信的能力。
注:意思是component是有UI的功能模块,session负责与server端的数据通讯。
Q:虚拟打印
目前使用了虚拟打印技术,但若非Windows客户端又当如何?
2. Chat Module
* 目标:理解整个chat信息的传输过程
* 核心类列表
CChatSession
CChatManage
CChatComponent
CChatMainDlg
CChatUserInfo
IComponentChat
IContainerChat
N:Chat的时候,本地消息是自己显示的,没有从网络上读取。
N:Container在UI上和Panel相关,功能上和component相关。Session被attach到Component,为Component提供与服务器交互的通道。
Q:每一个单独的模块都需要定义CAppModule _Module?
A:似乎是这样。But Why ?
* icomponentapi.h包含了太多的component定义,使得新component引入的时候,需要对此文件进行修改。
Q:与server-side的通讯都通过conference manage?
A:准确地说是CConference的实例。2011/12/04
Q:VC中断点管理器在哪?
A:^B 2011/12/04
Q:加载Chat DLL的代码在哪里?
A:CChatManage::CreateComponent 2011/12/04