0. 杂想杂问
T:改变putty访问Linux的目录颜色:改ANSI Blue
http://blog.sina.com.cn/s/blog_4d910ea50100omv1.html
1. Session阅读
位置:util/confcli
CChatDataPDU与CRTMessageBlock什么关系?
// data format:
// "1,user name,user input message" // public
// "0,user name,user input message" // private
void CChatMainDlg::SendData(BOOL bPublic, CString& cSender, CString& cMessage)
{
if (m_chatsession.IsConnect())
CHARFORMAT cf;
cf.cbSize = sizeof(CHARFORMAT);
cf.dwMask = CFM_CHARSET | CFM_FACE;
m_input.GetDefaultCharFormat(cf);
CChatDataPdu pdu;
pdu.m_bPublic = bPublic;
pdu.m_cSender = cSender;
pdu.m_cMessage = cMessage;
pdu.m_bChatSet = cf.bCharSet;
pdu.m_cFaceName = cf.szFaceName;
CRtMessageBlock aData(pdu.GetLength());
pdu.Encode(aData);
int nLen = pdu.GetLength();
LPCSTR lpData = aData.GetTopLevelReadPtr();
if (bPublic == FALSE && m_bPublic == FALSE)
{
InfoUser_ID user(m_idChatUser);
m_chatsession.SendChatData(nLen, (const LPBYTE)lpData, &user);
}
else
{
m_chatsession.SendChatData(nLen, (const LPBYTE)lpData);
}
}
}
本文介绍了聊天系统中数据发送的具体实现方式,详细解释了如何通过CChatDataPDU与CRTMessageBlock来完成消息的编码与发送流程。文章还探讨了不同消息类型(公共或私人)的处理区别。

被折叠的 条评论
为什么被折叠?



