⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serverdlg.h

📁 网络编程最基本最常用的网络端和客户端的程序实现
💻 H
字号:
// ServerDlg.h : header file
//

#if !defined(AFX_SERVERDLG_H__F92AACFF_72E1_47AB_B7F7_DE94963FDA4D__INCLUDED_)
#define AFX_SERVERDLG_H__F92AACFF_72E1_47AB_B7F7_DE94963FDA4D__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//
/////////////////////////////////////////////////////////////////////////////
// CServerDlg dialog

class CServerDlg : public CDialog
{
// Construction
public:
    CServerDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
    //{{AFX_DATA(CServerDlg)
    enum { IDD = IDD_SERVER_DIALOG };
    CRichEditCtrl m_Sendmsg;
    CRichEditCtrl m_Listmsg;
    //}}AFX_DATA
//
    void OnAccept(int nErrorCode);      // 接收连线的处理函数
    void OnReceive(int nErrorCode);     // 接收传来信息时的处理函数
//
    struct _tagAsyncSocket : public CAsyncSocket
    // 建立一个结构使这个结构能继承CAsyncSocket类别,
    // 此结构主要是用来 Overlap Receive() 这个CAsyncSocket 的函数成员
{
        _tagAsyncSocket(CServerDlg* pSocket) { m_pSocket = pSocket; };
        // 结构的建构者, 接受一个CServerDlg 类别指针的参数
        virtual void OnAccept(int nErrorCode)
        {
            if (nErrorCode == 0)
                // 如果没有发生错误, 则调用CServerDlg的函数成员OnAccept().
                m_pSocket->OnAccept(nErrorCode);
            else
                ::ShowErrorMessage(::GetDesktopWindow(), GetLastError());
        };
        virtual void OnReceive(int nErrorCode)
        {
            if (nErrorCode == 0)
                // 如果没有发生错误, 则调用CServerDlg的函数成员OnReceive().
                m_pSocket->OnReceive(nErrorCode);
            else
                ::ShowErrorMessage(::GetDesktopWindow(), GetLastError());
        };
        CServerDlg *m_pSocket;
    };
               	                                                     	            	        
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CServerDlg)
    protected:
    virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
    //}}AFX_VIRTUAL

// Implementation
protected:
    HICON m_hIcon;

    // Generated message map functions
    //{{AFX_MSG(CServerDlg)
    virtual BOOL OnInitDialog();
    afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
    afx_msg void OnPaint();
    afx_msg HCURSOR OnQueryDragIcon();
    afx_msg void OnDestroy();
    afx_msg void OnDisconnect();    // 中断连线的处理程序
    afx_msg void OnSendbtn();       // 传送信息的处理程序
    afx_msg void OnSetupconnect();  // 连线设定
    afx_msg void OnChange();        // 输入的信息视窗中的内容发生改变
    //}}AFX_MSG

    struct _tagAsyncSocket *m_pListen;
    // ASyncSocket 的对象指针, 用来建立连线
    struct _tagAsyncSocket *m_pSocket;
    // AsyncSocket 的对象指针, 当接受连线后负责Receive与Send动作的指针
    CString m_lpszName;
//
    void SetupIcon(int nID = 2);  // 设定连线时的图示, 内定值为2表示未连线

//
    DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_SERVERDLG_H__F92AACFF_72E1_47AB_B7F7_DE94963FDA4D__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -