嵌入式开发高频面试题——第三章 网络编程

嵌入式开发高频面试题——第二章 C/C++高频面试题

3.1 TCP 和 UDP

3.1.1 TCP、UDP的区别 ⭐⭐⭐⭐⭐
  • TCP(Transmission Control Protocol)

    • 面向连接:TCP是面向连接的协议,通信之前需要建立连接(三次握手),数据传输完成后需要释放连接(四次挥手)。
    • 可靠性:TCP提供可靠的传输服务,通过校验和、序列号、确认应答、超时重传、流量控制和拥塞控制等机制来保证数据的可靠传输。
    • 数据顺序:TCP确保接收方按照发送方的顺序接收数据包,即使数据包在传输过程中被打乱,TCP也会重新排序。
    • 流控制:TCP通过滑动窗口机制控制数据流量,避免发送方发送数据过快而导致接收方无法及时处理。
  • UDP(User Datagram Protocol)

    • 无连接:UDP是无连接的协议,不需要建立和释放连接,直接发送数据报文。
    • 不可靠性:UDP不保证数据的可靠传输,没有确认应答、重传、顺序控制等机制。
    • 数据报模式:UDP将数据报封装为独立的包,发送方和接收方之间没有连接关系。
    • 轻量级:UDP相对于TCP更轻量,适用于对实时性要求高,但对数据可靠性要求不高的场景。
3.1.2 TCP、UDP的优缺点 ⭐⭐⭐
  • TCP的优点

    • 提供可靠的通信,确保数据完整性。
    • 有序传输,数据包按序到达。
    • 自动处理丢包、重传等问题。
  • TCP的缺点

    • 面向连接,需要三次握手建立连接,较为耗时。
    • 头部开销大,数据传输效率相对较低。
    • 由于有序性、可靠性和流控机制,导致时延增加。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CFuYuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值