2、boost asio 教程---Tcp和Udp

本文介绍了TCP和UDP两种传输层协议在Boost Asio库中的使用。TCP提供类似文件的双向顺序流,而UDP则是无连接的数据报交换,更易丢失但灵活性更高。在TCP中,数据传输具有连接性,而在UDP中,数据包的顺序和完整性需要应用层自行处理。
摘要由CSDN通过智能技术生成

有两个主要的传输层协议,我们将使用-TCP和UDP。协议是一种协议集,规定了数据传输应该如何工作。

传输控制协议-TCP 简而言之,TCP连接几乎就像一个文件-你打开它,你从中读取一些数据,你写入其他一些数据,当你完成时关闭它。不过有一些限制:

当处理文件时,您可以询问其大小。在TCP连接的情况下,您不能这样做。

当处理文件时,您可以定位读取或写入指针。您也不能与TCP连接这样做。

换句话说,文件为您提供随机访问,而TCP连接是一种双向顺序流。

用户数据报协议-UDP 通过UDP传输数据表示固体数据片的交换。与TCP相比,UDP没有这样的事情作为UDP连接。您无法接收已发送到应用程序的数据片的一部分。您要么什么也得不到,要么得到整个部分。到目前为止,您需要了解UDP:

由于不是流,因此没有UDP连接。因此,您不需要连接或关闭UDP套接字。您只需要发送数据或接收数据即可。

用于接收UDP数据包的缓冲区必须足够大,以包含整个数据包的一部分,否则您将什么也收不到。因此,您需要了解将要接收的数据包的上限大小。

传入的分组顺序通常与它们的发送顺序不同。这意味着您需要自己维护顺序。

实际上并不能保证您将收到发送给您的应用程序的所有数据包。这意味着UDP数据包丢失是常有的事情。这又意味着您需要自己控制UDP数据包的传递。

正如您所看到的,UDP比TCP更棘手一些。但是它仍然具有我们将在后面讨论的优点。

这是您目前需要了解的关于协议的所有内容。我们可以继续前进

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Knowledgebase

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

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

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

打赏作者

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

抵扣说明:

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

余额充值