IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Linux网络编程学习笔记(2)TCP与UDP的编程实现的区别 -> 正文阅读

[网络协议]Linux网络编程学习笔记(2)TCP与UDP的编程实现的区别

?从上图可以看出,UDP编程框架和TCP框架有两点差异:
(1)相对于TCP协议,UDP协议服务器和客户端的交互,没有listen()和accept()函数,也就是说缺少二者之间的连接过程。这是由UDP协议的特点决定的,因为UDP协议面向无连接(SOCK_DGRAM),为应用层提供不可靠、无连接和基于数据报的服务,因此客户端与服务器之间不需要建立连接。

① TCP
    ssize_t recv(int sockfd, void *buf, size_t len, int flags);
    ssize_t send(int sockfd, const void *buf, size_t len, int flags);
② UDP
    ssize_t recvfrom(int sockfd, void *buf, size_t len, intflags, struct sockaddr *src_addr, socklent_t *addlen);
    ssize_t sendto(int sockfd, void *buf, size_t len, intflags, struct sockaddr *src_addr, socklent_t addlen);


(2)TCP协议与UDP协议读写数据的函数不同,TCP协议读写数据用第①组函数recv()/send()函数,UDP读写数据用第②组函数recvfrom()/sendto()函数,这也是由两种协议的类型决定的。TCP协议是面向连接的,通信双方在进行数据交互之前,必须先建立连接。所以,创建SOCK_STREAM类型的套接字,通信双方建立TCP连接之后,通信双方的数据是可靠的、双向连接的字节流,建立连接之后发送数据不需要再明确对端的地址。因此TCP连接使用的上图中的第①组函数传输数据;然而UDP协议是面向无连接的,通信双方不需要一直保持联系,因此每次发送数据都要指定接收端的地址。所以UDP协议使用的是上图中的第②组函数。需要注意的是,recvfrom函数的最后一个参数是指针型,sendto函数的最后一个参数是LONG型,函数recv()的返回值是成功接收到的字节数。当返回值为-1时,表示有错误发生,当另一方使用正常的方式关闭连接时返回值为0,例如调用close()函数关闭连接。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-22 12:42:59  更:2021-11-22 12:44:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/3 20:54:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码