UC故事 2011/12/05 总结与计划(续2)

1. 要点回顾

 * SendData/ReceiveData的本质:

SendData=Main thread向network thread发送(PostEvent)一个CRtEventSendData;在CRtEventSendData::OnEventFire中,network thread通过socket送出

ReceiveData=network thread从socket接收数据,向main thread发送(PostEvent)一个CRtEventOnReceive;main thread在CRtEventOnReceive::OnEventFire中,适当方法处理,直到CConference对象及之上

注:XXXEvent是系统处理的核心


* 发送与接收的区别

发送的时候,有若干”策略“需要实施,如优先级(CConfConnection),UDP/TCP选择(CConfPort)

接收的时候,无对应策略

 

2. 问题汇总

Q:CConference::UpdateSessionChannel究竟完成什么功能?

Q:CConference/CConfSession等对象只会出现在main thread的执行中,不会出现在network thread中,对吗?

Q:CConference到底有没有直接与Server通讯的能力?

       A:I think no. CConference存在于main thread的context中,必须通过向network thread发送PostEvent方式来向Server发送信息。

       跟踪分析CConference::SendData,结果如何?

       CConference -> CConfPort -> CConfConnection -> CRtIMConnection -> CRtTransportTcpT

       Q:似乎直接就把pdu发给server了,没有通过pReactor->PostEvent()?

       Q:或者network thread中也有CConference对象?不太可能吧?

 

Q:所有数据(a/v/d都表现为Event)?所有数据的收发都表现为event的Post?

 

 

3. 下步计划

 

4. 杂想杂问


5. Jiarong的代码

E/// D2的代码为何不能直接看到UI?

chat与另一客户端似乎不通?



 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值