hattersListView(msg.m_strText , pSocket);
}
//如果是普通信息则更新聊天信息列表,并将信息加入到m_msgList 链表中
if(msg.code == NORMAL_MESSAGE)
{
UpdateMessageView(msg.m_strText);
m_msgList.AddTail(msg.m_strText);
}
}
CATCH(CFileException, e)
{
CString strTemp;
strTemp.Format("无法读取数据!");
UpdateMessageView(strTemp);
msg.m_bClose = TRUE;
}
END_CATCH
return &msg;
}
为SendMsg()函数编写如下代码:
void CChatServerDoc::SendMsg(CClientSocket* pSocket, CMsg* pMsg)
枫叶文学网www.fywxw.com
第11 章 网络编程
·305·
{
TRY
{
//调用CClientSocket 的函数发送消息
pSocket->SendMsg(pMsg);
}
CATCH(CFileException, e)
{
CString strTemp;
strTemp.Format("无法发送数据!");
UpdateMessageView(strTemp);
}
END_CATCH
}
为函数IsUsedNcom()编写如下代码:
BOOL CChatServerDoc::IsUsedNcom(CString sNickNcom)
{
CString tempStr, tempList, sNcom;
tempStr = "";
tempList = m_ChattersList;
do
{
//利用“:”得到名字并查找(客户端发送的消息前面都有用户名加“:”)
sNcom = tempList.Left(tempList.Find(":", 0));
tempList = tempList.Mid(tempList.Find(":", 0) + 1);
//找到则返回真
if(sNcom == sNickNcom)
return TRUE;
}while(tempList.Find(":" , 0) != -1);
//未被使用则返回假
return FALSE;
}
为函数AssembleMsg()编写如下代码:
CMsg* CChatServerDoc::AssembleMsg(CClientSocket