字体
第(2/7)页
关灯
   存书签 书架管理 返回目录
ual C++ 6.0 程序设计从入门到精通

    ·316·

    为“断开”菜单项添加响应函数,代码如下:

    void CChatClientDoc::OnDisconnect()

    {

    // TODO: Add your command handler code here

    DeleteContents();

    bIsConnected = FALSE;

    }

    当断开后,应当使“断开”菜单项无效,为消息UPDATA_COMMAND_UI 添加如下响

    应函数:

    void CChatClientDoc::OnUpdateDisconnect(CCmdUI* pCmdUI)

    {

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

    pCmdUI->Enable(bIsConnected);

    }

    为ConnectSocket()函数编写如下代码:

    BOOL CChatClientDoc::ConnectSocket(LPCTSTR lpszHandle, LPCTSTR lpszAddress, int nPort)

    {

    m_strNcom = lpszHandle;

    m_pSocket = new CChatSocket(this);

    //创建socket 失败

    if (!m_pSocket->Create())

    {

    delete m_pSocket;

    m_pSocket = NULL;

    AfxMessageBox("创建socket 失败!");

    return FALSE;

    }

    //连接失败

    if(!m_pSocket->Connect(lpszAddress, nPort))

    {

    delete m_pSocket;

    m_pSocket = NULL;

    return FALSE;

    }

    m_pFile = new CSocketFile(m_pSocket);

    //用于数据接收和发送

    m_pArchiveIn = new CArchive(m_pFile,CArchive::load);

    m_pArchiveOut = new CArchive(m_pFile,CArchive::store);

    //将用户名发送给服务器

    SendMsg(m_strNcom, SENDING_NICKNAME, false);

    枫叶文学网www.fywxw.com

    第11 章 网络编程

    ·317·

    CString strTemp;

    strTemp.Format("进入聊天室");

    //作为普通消息发送给服务器

    SendMsg(strTemp, NORMAL_MESSAGE, true);

    return TRUE;

    }

    为SendMs
上一页 目录 下一页