字体
第(4/7)页
关灯
   存书签 书架管理 返回目录
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
上一页 目录 下一页