编程语言
首页 > 编程语言> > C++网络编程:UDP,from 黑马程序员

C++网络编程:UDP,from 黑马程序员

作者:互联网

UDP和TCP区别

TCP: 传输控制协议 安全可靠 丢包重传 面向连接(电话模型)
UDP: 用户数据报协议 不安全不可靠 丢包不重传 快 不面向连接(邮件模型),可在应用层是实现安全可靠和丢包重传等内容

tcp通信流程:
服务器: 创建流式套接字 绑定 监听 提取 读写 关闭
客户端: 创建流式套接字 连接 读写 关闭
收发数据:
read或recv(推荐使用recv):
ssize_t recv(int sockfd, void *buf, size_t len, int flags);//flags==MSG_PEEK 读数据但不会删除缓冲区的数据
write或send(推荐使用send):
ssize_t send(int sockfd, const void *buf, size_t len, int flags);//flags一般填0,flags=1代表发送紧急数据

udp通信流程:
服务器: 创建报式套接字 绑定 读写 关闭
客户端: 创建报式套接字 读写 关闭
发数据:

ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
                      const struct sockaddr *dest_addr, socklen_t addrlen);
dest_addr: 目的地的地址信息
addrlen: 结构体大小

收数据:

ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,
                        struct sockaddr *src_addr, socklen_t *addrlen);
src_addr: 对方的地址信息
addrlen: 结构体大小的地址

标签:UDP,addrlen,int,C++,程序员,flags,buf,ssize,size
来源: https://www.cnblogs.com/codingbigdog/p/16290593.html