ClientSocket.h ClientSocket.cpp

ClientSocket.h

 1 #pragma once
 2 
 3 // CClientSocket 命令目标
 4 #include "ClientProDlg.h"
 5 #include "afxsock.h"
 6 
 7 
 8 class CClientProDlg;
 9 
10 class CClientSocket : public CSocket    //从CSocket类派生一个用于处理接收Socket的类
11 {
12 
13 public:
14     CClientSocket(CClientProDlg *pdlg);    //获得应用程序的指针
15     virtual ~CClientSocket();
16     CClientProDlg *m_pDlg;
17     virtual void OnReceive(int nErrorCode);
18     virtual void OnClose(int nErrorCode);
19 
20 };

ClientSocket.cpp 

 1 // ClientSocket.cpp : implementation file
 2 //
 3 #include "stdafx.h"
 4 #include "ClientSocket.h"
 5 #include "ClientProDlg.h"
 6 
 7 CClientSocket::CClientSocket(CClientProDlg *pdlg)
 8     : m_pDlg(pdlg)
 9 {
10 }
11 
12 CClientSocket::~CClientSocket()
13 {
14 }
15 
16 void CClientSocket::OnReceive(int nErrorCode) 
17 {
18     if(m_pDlg)
19     {
20         m_pDlg->ReceiveData(this);
21     }
22     CSocket::OnReceive(nErrorCode);
23 }
24 void CClientSocket::OnClose(int nErrorCode)
25 {
26     if(m_pDlg)
27     {        
28         m_pDlg->ClientDisConnect(this);
29     }
30     CSocket::OnClose(nErrorCode);
31 }
32 // CClientSocket 成员函数

ClientProDlg.h中添加

#include "ClientSocket.h"

void ReceiveData(CClientSocket* socket);

void ClientDisConnect(CClientSocket* socket);

CClientSocket *m_pSocket;

原文地址:https://www.cnblogs.com/qiwu1314/p/9765546.html