1.UDP流程
UDP特点:基于报文、不保证按序发送、一对一,一对多,多对一和多对多的交互通信、不可靠性(容易出现丢包现象)。
服务端: 创建socket-->bind-->循环接收/发送数据-->关闭socket
客户端:创建socket-->bind(可选)-->循环发送/接收数据-->关闭socket
流程图:
UDP编程的服务端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt();* 可选
3、bind绑定IP地址、端口等信息到socket上;
4、循环接收数据,用函数recvfrom();
5、关闭网络连接;
UDP编程的客户端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt();* 可选
3、bind绑定IP地址、端口等信息到socket上;* 可选
4、设置对方的IP地址和端口等属性;
5、发送数据,用函数sendto();
6、关闭网络连接;
2.举例
UDP.h
#pragma once
#include <Winsock2.h>
// UDP服务端
class CUDPServer
{
public:
CUDPServer()
{
m_terminal = false;
}
~CUDPServer() {}
// 服务端
long UDPServer();
// 接收客户端数据
long RecvClientData();
private:
char recvClientBuf[100];
SOCKET sockSrv;
SOC