IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> MFC UDP通讯关键部分代码 发送数据不成功问题解决 -> 正文阅读

[网络协议]MFC UDP通讯关键部分代码 发送数据不成功问题解决

【学习笔记】

看了好几天,一直不知道问题出在哪里,最后发现少了这个函数调用

AfxSocketInit();

这里再把udp通讯的整体流程以及关键代码放在这里
在这里插入图片描述

项目中udp功能模块的关键代码:

void CPCSFlashDlg::OnBtnCtrlConn()//创建套接字 
{
	if (NULL != m_pSocket)
	{
		m_pSocket->Close();
		delete m_pSocket;
		m_pSocket = NULL;
	}
	//以下部分是  使用CIPAddressCtrl类型的m_peerIPaddr  通过窗口获取数据   赋值给BYTE类型数据,
	//然后再传给string类型的m_strPeerIPaddr
		BYTE field[4];
		m_peerIPaddr.GetAddress(field[0], field[1], field[2], field[3]);
		m_strPeerIPaddr.Format(TEXT("%d.%d.%d.%d"), field[0], field[1], field[2], field[3]);
		
		m_pSocket = new CUdpSocket();
		m_pSocket->Create(m_localPortNum, SOCK_DGRAM);
		m_pSocket->Bind(m_peerPortNum, m_strPeerIPaddr);
}

void CPCSFlashDlg::OnBtnSendData()//发送数据
{
	OnBtnCtrlConn();//创建套接字
	UpdateData(TRUE);
	if (NULL == m_pSocket )
	{
		AfxMessageBox(TEXT("尚未打开端口!"));
		return;
	}
	else if (m_dataToSend.IsEmpty())
	{
		AfxMessageBox(TEXT("请选择要发送的数据文件!"));
		return;
	}
	AfxMessageBox(TEXT("UDP已建立连接,正在发送数据。。。\r\n"));
	
	m_pSocket->SendTo(m_dataToSend, m_dataToSend.GetLength(),
						m_peerPortNum, m_strPeerIPaddr);

	AfxMessageBox(TEXT("网口发送结束....."));
}

再调用上面的函数前,先初始化一些数据

	m_localPortNum = 8888;
	m_peerPortNum = 9220;
	m_dataToSend = _T("11111");
	m_pSocket = NULL;
	AfxSocketInit();//我就是因为没有调用这个函数导致数据无法发送
	m_peerIPaddr.SetAddress(127,0,0,1);
	m_localIPaddr.SetAddress(127,0,0,1);
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-12 13:30:30  更:2021-09-12 13:31:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/27 2:14:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码