第16章插口IO.PDFVIP

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载 第16章 插 口 I/O 16.1 引言 本章讨论有关从网络连接上读写数据的系统调用,分三部分介绍。 第一部分介绍四个用来发送数据的系统调用:w r i t e、w r i t e v、s e n d t o和s e n d m s g。第 二部分介绍四个用来接收数据的系统调用:r e a d、r e a d v、r e c v f r o m和r e c v m s g。第三部分 介绍s e l e c t系统调用,s e l e c t调用的作用是监控通用描述符和特殊描述符(插口) 的状态。 插口层的核心是两个函数: s o s e n d和s o r e c e i v e。这两个函数负责处理所有插口层和 协议层之间的 I / O操作。在后续的章节中我们将看到,因为这两个函数要处理插口层和各种类 型的协议之间的I / O操作,使得这两个函数特别长和复杂。 16.2 代码介绍 图1 6 - 1中列出了本章后续章节要用到的三个头文件和四个 C源文件。 文 件 名 说 明 s y s / s o c k e t . h 插口A P I 中的结构和宏定义 s y s / s o c k e t v a r . h s o c k e t结构和宏定义 s y s / u i o . h u i o结构定义 k e r n / u i p c _ s y s c a l l s . c s o c k e t系统调用 k e r n / u i p c _ s o c k e t . c 插口层处理 k e r n / s y s _ g e n e r i c . c s e l e c t系统调用 k e r n / s y s _ s o c k e t . c s e l e c t对插口的处理 图16-1 本章涉及的头文件和C源文件 全局变量 图1 6 - 2列出了三个全局变量。前两个变量由 s e l e c t系统调用使用,第三个变量控制分配 给插口的存储器大小。 变 量 数据类型 说 明 s e l w a i t i n t s e l e c t调用的等待通道 n s e l c o l l i n t 避免s e l e c t调用中出现竞争的标志 s b _ m a x u _ l o n g 插口发送或接收缓存的最大字节数 图16-2 本章涉及的全局变量 16.3 插口缓存 从第1 5 . 3节我们已经知道,每一个插口都有一个发送缓存和一个接收缓存。缓存的类型为 382计计TCP/IP详解 卷2 :实现 下载 s o c k b u f。图1 6 - 3中列出了s o c k b u f结构的定义(重复图 1 5 - 5 )。 图16-3 s o c k b u f 结构 7 2 - 7 8 每一个缓存均包含控制信息和指向存储数据的 m b u f链的指针。 s b _ m b指向m b u f链的 第一个m b u f ,s b _ c c的值等于存储在m b u f链中的数据字节数。 s b _ h i w a t和s b _ l o w a t用来 调整插口的流控算法。 s b _ m b c n t等于分配给缓存中的所有m b u f 的存储器数量。 在前面的章节中提到过每一个 m b u f 可存储 0 ~ 2 0 4 8个字节的数据 ( 如果使

文档评论(0)

wyw118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档