ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-05-19 23:02:20  阅读:189  来源: 互联网

标签:UDP addrlen int C++ 程序员 flags buf ssize size


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有