首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

MFC编程兑现UDP通讯

2012-08-03 
MFC编程实现UDP通讯遇见一个奇特的问题。套接字创建成功,报文无法发送成功。调试了一上午之后,使用套接字的

MFC编程实现UDP通讯

遇见一个奇特的问题。套接字创建成功,报文无法发送成功。调试了一上午之后,使用套接字的时候是需要

if (!AfxSocketInit())

{
return FALSE;

}

函数功能:在重载的CWinApp::InitInstance函数中调用这个函数以初始化WindowsSockets。

注意:在调用 AfxSocketInit() 之前,需要包含 afxsock.h 头文件

添加方式:

a.创建项目时在高级功能里点选windows套接字

b.在项目App里的初始化函数中直接添加

奇特问题二:

收到数据报文,但函数返回值是-1

在ReceiveFrom后添加int x=WSAGetLastError();

 观察x的值,发现x=10040;查阅资料发现,报文数据过长。

解决办法:

修改接收端数据的长度。

。UDP的各种函数解析:

客户端只需要create。

服务端先create,再bind。

Create(localport,SOCK_DGRAM)//本地端口号,以UDP方式连接Bind(m_port,m_ip);//远程的端口,地址SendTo(m_data, datalen,m_port, m_ip,0);//要发送的数据,数据长度,远程端口号,远程ipReceiveFrom(Buf, Buflen,m_port, m_ip, 0);//.....
代码在别的电脑,稍后更新到资源。

UDP与TCP的连接基本相似。


热点排行