如何创建一个利用UDP实现消息收发功能的MFC程序

本文介绍如何创建一个MFC程序,利用UDP协议进行数据的发送和接收。程序具备显示发送与接收字节数,并能清空数据的功能。

首先我们先来开一下所要实现的对话框是什么样子的以及它所要实现的功能;


如图所示,我们的程序需要实现的功能是向客户机发送数据并接受来自客户机的数据,同时能够统计发送到的和接收到的字节数,并能够在完成任务后清空计数以及发送区和接收区的数据。

由于使用的是UDP通讯方式,首先我们需要将主机的IP地址进行绑定,在绑定后,绑定按钮会变成已绑定,再次点击就可以解绑。
正式进入编程,我们首先要编写的是初始化程序:
	m_LocalPort.SetWindowText("8001");
	m_isBindUDP = false;
	g_receNum = 0;
	g_sendNum = 0;

m_LocalPort是本地端口号控件绑定的控件变量,SetWindoeText函数的作用是可以在控件上显示所需要显示的变量,注意该变量必须是字符串类型的。这里我们设置本地的默认端口号为8001。m_isBindUDP是一个BOOL型变量,作用是判断本地IP和端口是否绑定,因为初始化时未绑定,所以赋值为false。g_receNum和g_sendNum是两个整型变量,用作存储发送和接收字符的长度,在初始化中清零是为了防止在之后的程序中出现误操作。在此,需要强调一个关于定义变量的问题:

头文件


源文件

我们在定义一个全局变量时最好在头文件中定义,并且在定义前加一个extern,在源文件中要引用时,要在源文件开头再声明一遍。根据匈牙利命名法,在定义全局变量时最好在变量前加g_,不容易将变量弄混。
初始化结束后,要进行的就是绑定本地IP和端口:
void CfykudpDlg::OnBnClickedBind()
{
	//setp1 获取本地IP prot
	CString strTmp;
	int localPort;
	m_LocalPort.GetWindowText(strTmp);
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值