step5 . day4 网络编程 基于UDP协议的网络编程流程及API


UDP协议是面向无连接,不可靠的传输协议,编程流程如下;


服务器端:
1. socket(),返回一个文件描述符,用于通信
2. bind(); //得先完成结构体的填充sockaddr_in
3. recvfrom(), //接收数据
4. sendto(), //发送数据
5. close(sockfd);

客户端:
1. socket(), 返回一个文件描述符,用于通信
2. 填充结构体,(目的是告诉程序,数据要发送给谁)
3. sendto()
4. recvfrom()
5. close();

使用的API,大部分和TCP协议类似

ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,
struct sockaddr *src_addr, socklen_t *addrlen);
第5/6参数,明确接收哪个客户端发来的数据;

ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
const struct sockaddr *dest_addr, socklen_t addrlen);
第5/6参数,明确数据要发送给谁;

原文地址:https://www.cnblogs.com/huiji12321/p/11371404.html