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

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

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

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

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

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

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

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/Knowledgebase/article/details/132716622