学过数据结构的朋友们都应该知道, 在链表中有头结点这一说法, 它是不同于第一结点的。 可以这里理解, 头结点是非业务结点, 而其他结点是业务结点。

         很多时候, 我们要在一段buffer前套一个头, 这个头中有这个buffer(或者整个带头buffer)的长度信息, 当然也可以带其他信息。 这是很普遍的。 想想我们的网络协议, 不就是层层加头吗? 当然, 你也可以加尾。

         我们都知道, tcp是字节流的, 没有边界符, 那么, 此时就可以用带头buffer来进行分割了。 实际工作中, 我们也常常这么用。

         

         那一年, 我做了个类ftp文件传输模块, 先把文件的长度传过去, 然后发文件。 对方一直接受, 直到达到文件长度为止, 这和带头buffer有异曲同工之妙。 真是爽爽哒。



本文转载:CSDN博客