UC故事 2011/11/21

 

### 研究client framework ###

1. Create Conference

Q:在Create Conference的时候,会向Server发PDU吗?

 

### 研究Chat module ###

 1. Chat消息发送过程

* 相关类

CChatMainDlg

CChatSession

ISessionClient

CConference

CConfPort

CConfConnection


* STACK TRACE 


CRtEventQueueBase::PostEvent(IRtEvent * 0x0211c110, IRtEventQueue::EPriority EPRIORITY_NORMAL) line 132
CRtEventQueueUsingMutex::PostEventWithOldSize(IRtEvent * 0x0211c110, IRtEventQueue::EPriority EPRIORITY_NORMAL, unsigned long * 0x0012f900) line 267 + 16 bytes
CRtReactorBase::PostEvent(IRtEvent * 0x0211c110, IRtEventQueue::EPriority EPRIORITY_NORMAL) line 517 + 23 bytes

                                      ^ 在此通过PostEvent投递事件后,通过NotifyHandler再出发事件处理

                                      ^ Win32中就是PostMessage WM_WIN32_SOCKET_NOTIFY,这样,网络线程中的Windows Messaging会被触发

                                      ^ 然后,调用网络底层(Transport/Connect等等)将信息发给Server。   2011/12/04

CRtTransportThreadProxy::SendData(CRtMessageBlock & {...}, int 0, int 0, IRtTransport::DataPriority DP_MEDIUM, int 0) line 128 + 59 bytes

                                                    ^ 在此会调用网络线程的EventQueue的PostEvent方法  2011/12/04
CRtTransportThreadProxy::SendData(CRtMessageBlock & {...}, RtRudpReliability RUDP_RELIABLE_ORDERED, int -1, int 0, int 0, IRtTransport::DataPriority DP_MEDIUM, unsigned char 0) line 141 + 31 bytes
CRtIMConnection::SendData(CRtMessageBlock & {...}, int 0, RtRudpReliability RUDP_RELIABLE_ORDERED, unsigned char 0, int -1) line 942 + 51 bytes
CConfConnection::SendBufData(CRtMessageBlock & {...}) line 249 + 39 bytes
CConfConnection::SendData_i() line 263 + 15 bytes
CConfConnection::SendData(CRtMessageBlock & {...}, DATA_Priority DATA_PRIORITY_HIGH, unsigned long 2) line 211
CConfPort::SendData(CRtMessageBlock & {...}, DATA_Priority DATA_PRIORITY_HIGH, unsigned long 2) line 80 + 33 bytes
CConfPort::SendData(CInfoSvrPduBase * 0x001334a0, DATA_Priority DATA_PRIORITY_HIGH, unsigned long 2) line 60 + 23 bytes
CConference::SendData(CInfoSvrPduBase * 0x001334a0, DATA_Priority DATA_PRIORITY_HIGH, unsigned long 2) line 1243 + 48 bytes
CConfSession::SessSenddData(const CInfoSID & {...}, DATA_Priority DATA_PRIORITY_HIGH, unsigned long 2, unsigned long 42, unsigned char * const 0x0211bf78) line 116 + 23 bytes
CConfSession::SendData_i(const CInfoSID & {...}, DATA_Priority DATA_PRIORITY_HIGH, unsigned long 2, unsigned long 42, unsigned char * 0x021159a8) line 296 + 33 bytes
CConfSession::SendData(const CInfoSID & {...}, DATA_Priority DATA_PRIORITY_HIGH, unsigned long 2, unsigned long 42, unsigned char * const 0x021159a8) line 281
CChatSession::SendChatData(unsigned long 42, unsigned char * const 0x021159a8, CInfoSID * 0x00000000) line 504 + 62 bytes
CChatMainDlg::SendData(int 1, WTL::CString & {...}, WTL::CString & {...}) line 1114
CChatMainDlg::SendMessageW(WTL::CString & {...}) line 522
CChatMainDlg::PressSend(int 1) line 498
CChatMainDlg::OnBtnSend(unsigned short 0, unsigned short 201, HWND__ * 0x00020d7c, int & 1) line 1412
CChatMainDlg::ProcessWindowMessage(HWND__ * 0x00020d80, unsigned int 273, unsigned int 201, long 134524, long & -858993460, unsigned long 0) line 157 + 66 bytes
ATL::CDialogImplBaseT<ATL::CWindow>::DialogProc(HWND__ * 0x020c4a70, unsigned int 273, unsigned int 201, long 134524) line 2279 + 37 bytes
USER32! 77d18734()
USER32! 77d23ce4()
USER32! 77d23b30()
USER32! 77d23d5c()
USER32! 77d18734()
USER32! 77d18816()
USER32! 77d2927b()
USER32! 77d292e3()
USER32! 77d4ff7d()
USER32! 77d465d2()
USER32! 77d25e94()
USER32! 77d3b082()
USER32! 77d18734()
USER32! 77d18816()
USER32! 77d2a013()
USER32! 77d2a039()
ATL::CWindowImplBaseT<ATL::CWindow,ATL::CWinTraits<1342177291,0> >::DefWindowProcW(unsigned int 514, unsigned int 0, long 1376282) line 2067 + 34 bytes
ATL::CWindowImplBaseT<ATL::CWindow,ATL::CWinTraits<1342177291,0> >::WindowProc(HWND__ * 0x020c4b68, unsigned int 514, unsigned int 0, long 1376282) line 2118 + 20 bytes
USER32! 77d18734()
USER32! 77d18816()
USER32! 77d189cd()
USER32! 77d196c7()
WTL::CMessageLoop::Run() line 468 + 15 bytes
Run(char * 0x00151f28, int 1) line 207 + 11 bytes
LaunchConf(HINSTANCE__ * 0x00400000, char * 0x00151f28, int 1) line 318 + 13 bytes
WinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00151f28, int 1) line 85 + 20 bytes
WinMainCRTStartup() line 330 + 54 bytes
KER

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值