JPEG标准的中文文档PDF
1.9 mbuf与输出处理在伯克利联网代码设计中的一个基本概念就是存储器缓存,称作一个mbuf,在整个联网代码中用于存储各种信息。通过我们的简单例子分析一些mbuf的典型用法。在第2章中我们会更详细地说明mbuf。
1.9.1包含插口地址结构的mbuf
在sendto调用中,第5个参数指向一个Internet插口地址结构(叫serv),第6个参数指示它的长度(后面我们将要看到是16个字节)。插口层为这个系统调用做的第一件事就是验证这些参数是有效的(即这个指针指向进程地址空间的一段存储器),并且将插口地址结构复制到一个mbuf中。
想了解mbuf的详细设计和具体的函数编写?可以查看这里。更想深入探究mbuf在tcp和ip代码中的应用?不妨看看这篇文章。
mbuf中针对sendto的目的地址mbuf的前20个字节是首部,它包含关于这个mbuf的一些信息。这20个字节的首部包括四个4字节字段和两个2字节字段。mbuf的总长为128个字节。稍后我们会看到,mbuf可以用成员m_next和m_nextpkt链接起来。在这个例子中都是第1章概述计计11下载带有目标IP地址和端口号的16字节的sockaddr_in{}128字节20字节。
你是否也在琢磨如何在socket编程中获得网络地址?这篇获得网络地址的文章或许会对你有所启发。关于IP处理模块和mbuf的更多内容,可以点击这里。
下载地址
用户评论