UDP数据读写系统调用
#include <sys/types.h>
#include <sys/socket.h>
ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,
struct sockaddr *src_addr, socklen_t *addrlen);
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
const struct sockaddr *dest_addr, socklen_t addrlen);
recvfrom读取sockfd上的数据,buf和len分别指定缓冲区的位置和大小,UDP没有连接的概念,src_addr是发送方的socket地址,addrlen是该地址的长度。
sendto往sockfd上写入数据,buf和len分别指定缓冲区的位置和大小,dest_addr指定接收端socket地址,addrlen参数指定该地址的长度。
recvfrom和sendto返回值的含义和send和recv的含义相同,flag的含义也相同,并且这两个系统调用也适用于面向连接的系统调用。