MFC tcpserver转发数据 编程思想

本文介绍如何在MFC环境中使用CServerSocket类实现TCP服务器的数据转发功能。通过创建静态成员或引用对话框类(dlg)对象,使得CServerSocket能够调用dlg的相关方法,如RemoveClient、RecvData和AddClient,实现两个类之间的紧密交互,类似于Java中的内部类引用。
摘要由CSDN通过智能技术生成

正常两个独立的类之间是不能相互访问的,如果一个类的对象想访问另一个类的对象中的方法或者成员,最容易想到的方法就是类里面创建静态方法或者静态成员,还有一种方法就是通过访问调用这2个类的类对象,例如在MFC中通过调用成员

CTcpServerApp theApp;

发现了一个更方便的方法, 就是把当前对象的指针传给另一个类,这样在另一个类中通过指针可以随意的访问。

以TcpServer为例,这个server实现的功能主要就是数据转发,UI如下:


源码中重写了socket类,名称叫做CServerSocket

ServerSocket.h源码

#pragma once

#include "TcpServerDlg.h"                              // 主对话框头文件
class CTcpServerDlg;                                      //别忘了加上   

// CServerSocket 命令目标

class CServerSocket : public CSocket
{
public:
	CTcpServerDlg* m_pDlg;                       // 主对话框指针对象
	CServerSocket();
	virtual ~CServerSocket();
	virtual void OnAccept(int nErrorCode);
	virtual void OnClose(int nEr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值