Winsock API (Winsock IO 方法)new.pdf

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Winsock I/O方法 设计、讲授:谭献海 设计、讲授 Email:xhtan@ Email: 2009年10月 1 主要内容 1、 套接字模式 1.1 阻塞模式 1.2 非阻塞模式 2、 套接字I/O模型 2.1 select模型 2.2 WSAAsyncSelect 2.3 WSAEventSelect 2.4 重叠(overlapped)模型 2.5 完成端口模型 3、 I/O模型的问题 4 、 小结 2 Winsock分别提供了“套接字模式”和“套接字I/O模 型”,来对一个套接字上的I/O行为加以控制。其中,套 接字模式用于决定在随一个套接字调用时,该Winsock函 数的行为。而套接字I/O模型描述了一个应用程序如何对 套接字上的I/O进行管理及处理。 套接字模式: 阻塞 (Blocking) 非阻塞 (non-blocking) 套接字I/O模型: Select(选择) WSAAsyncSelect(异步选择) WSAEventSelect(事件选择) Overlapped I/O (重叠式I/O) Completion port(完成端口) 3 操作系统对套接字I/O模型的支持情况 4 性能测试结果 下表是Network Programming for Microsoft Windows 2nd 一书中对不同模式的一个性能测试结果。 服务器采用Pentium 4 1.7 GHz Xeon的CPU,768M 内 存;客户端有3台PC,配置分别是Pentium 2 233MHz ,128 MB 内存,Pentium 2 350 MHz ,128 MB内存,Itanium 733 MHz ,1 GB内存。 5 1 套接字模式 Windows套接字在两种模式下执行I/O操作:阻塞和 非阻塞。 在阻塞模式下,在I/O操作完成前,执行操作的 Winsock 函数(比如send和recv)会一直等候下 去,不会立即返回程序(将控制权交还给程序), 直到该函数操作完成,或出错。 在非阻塞模式下, Winsock 函数无论如何都会立 即返回。 6 1.1 阻塞模式 对于处在阻塞模式的套接字,我们必须 多加留意,因为在一个阻塞套接字上调 用任何一个Winsock API 函数,都会产生 相同的后果—耗费或长或短的时间“等 待” 。 一个典型的例子 7 简单的阻塞模式示例 代码的问题: SOCKET sock; 假如没有数据处于“待决”状 char buff[256];

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档