(目录) 【本文正在参加「盲盒」+码有奖征文活动】:https://ost.51cto.com/posts/19288
一、前言
上文,【FFH】学习设备开发之Hi3861-TCPclient-开关灯留下了的疑惑: 在net_demo.h文件里,testFun是什么?它是怎么选择客户端还是服务端再跳转到tcp_client_test.c文件执行TcpClientTest()函数的呢? 搞不懂别人高深的代码,于是后面就仿照官方代码,自己写了一份简单的代码,并且学习另一种传输协议UDP。
二、UDP简介
1.定义
用户数据报协议(UDP):UDP(用户数据报协议)是一个简单的面向数据报的传输层协议。提供的是==非面向连接的、不可靠的数据流传输==。UDP不提供可靠性,也不提供报文到达确认、排序以及流量控制等功能。==它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地==。因此报文可能会丢失、重复以及乱序等。但由于UDP在传输数据报前==不用在客户和服务器之间建立一个连接==,且没有超时重发等机制,故而==传输速度很快==。
2.复习一下TCP
“面向连接的TCP”就是在正式通信前必须要与对方建立起连接。TCP协议是一种可靠的、一对一的、面向有连接的通信协议。
3.UDP/TCP区别
TCP和UDP最大的区别就是:TCP是==面向连接==的,UDP是==无连接==的。TCP协议和UDP协议各有所长、各有所短,适用于不同要求的通信环境。TCP协议和UDP协议之间的差别如下表所示。 在实际的使用中,TCP主要应用于文件传输==精确性==相对要求较高且不是很紧急的情景,比如电子邮件、远程登录等。有时在这些应用场景下即使丢失一两个字节也会造成不可挽回的错误,所以这些场景中一般都使用TCP传输协议。由于UDP可以==提高传输效率==,所以UDP被广泛应用于数据量大且精确性要求不高的数据传输,比如我们平常在网站上观看视频或者听音乐的时候应用的基本上都是UDP传输协议。 开发流程图: UDP
标签:UDP,addr,盲盒,sock,Hi3861,TCP,fd,send From: https://blog.51cto.com/harmonyos/5897804