字体
第(1/7)页
关灯
   存书签 书架管理 返回目录
    数及其说明

    成员函数 说明

    BOOL ConnectSocket(LPCTSTR lpszHandle,

    LPCTSTR lpszAddress, int nPort)

    连接服务器,3 个参数依次是用户名、服务器地址

    和端口号

    枫叶文学网www.fywxw.com

    第11 章 网络编程

    ·315·

    续表

    成员函数 说明

    void ProcessReceive() 当接收到信息时调用此函数,进行信息接收等cāo作

    void SendMsg(CString& strText, int mCode, BOOL

    bSendNcom)

    发送信息,3 个参数分别表示信息内容、信息种类

    和是否发送用户名

    void ReceiveMsg() 接收信息

    void DisplayMsg(LPCTSTR lpszText) 显示信息

    void UpdateChattersList(CMsg* pMsg) 更新用户列表

    virtual void DeleteContents() 断开时所作的工作

    下面开始为各函数编写代码。

    首先在构造函数中将各成员变量初始化,代码如下:

    CChatClientDoc::CChatClientDoc()

    {

    // TODO: add one-tcom construction code here

    bIsConnected = FALSE;

    m_pSocket = NULL;

    m_pFile = NULL;

    m_pArchiveOut = NULL;

    m_pArchiveIn = NULL;

    }

    接着为“连接”菜单项编写响应函数,代码如下:

    void CChatClientDoc::OnConnect()

    {

    // TODO: Add your command handler code here

    CLogDlg dlg;

    if(dlg.DoModal() == IDOK)

    {

    if(ConnectSocket(dlg.m_Ncom, dlg.m_Server, dlg.m_Port))

    bIsConnected = TRUE;

    else

    AfxMessageBox("连接服务器失败!");

    }

    }

    当连接后,应该使“连接”菜单项无效,为消息UPDATA_COMMAND_UI 添加响应函

    数如下:

    void CChatClientDoc::OnUpdateConnect(CCmdUI* pCmdUI)

    {

    // TODO: Add your command update UI handler code here

    pCmdUI->Enable(!bIsConnected);

    }

    枫叶文学网www.fywxw.com

    Vis
上一章 目录 下一页