一、简介
udp是面向报文的协议,它不保证消息的完整性,也不为消息提供超时或重发机制。但是,udp的优点是在性能方面比tcp好一些,因为它不建立连接,发送数据和接收数据都只需很少的资源。
二、UDP客户端
实现原理:该程序使用了C++的socket编程,通过UDP协议在本地和远程服务器之间进行通信。用户可以发送和接收消息。当用户输入'q'时,程序会退出聊天。
#include <Winsock2.h>
#include <iostream>
#include <stdio.h>
#pragma comment (lib, "ws2_32.lib")
int Start_T() {
//加载套接字库 必须不能省略
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1, 1);
err = WSAStartup(wVersionRequested, &wsaData);//错误会返回WSASYSNOTREADY
if (err != 0)
{
return 0;
}
if (LOBYTE(wsaData.wVersion) != 1 || //低字节为主版本
HIBYTE(wsaData.wVersion) != 1) //高字节为副版本
{
WSACleanup();
return 0;
}
printf("server is operating!\n\n");
//创建套接字
SOCKET sockfd = socket(AF_INET, SOCK_DGRAM, 0);
//定义一个ipv4存放本地信息
SOCKADDR_IN myaddr