IOCP写服务程序时的关键问题研究.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IOCP写服务程序时的关键问题研究

IOCP写服务程序时的关键问题研究 计算机工程与设计ComputerEngineeringandDesign2010,31(17)3793 ?网络与通信技术? IOCP写服务程序时的关键问题研究 陈怀松,陈家琪 (上海理工大学光电信息与计算机工程学院,上海200093) 摘要:为了编写高效的网络服务程序,针对经典的多线程实现多客户端并发服务的不足,研究了当前最流行的IOCP(I/O completionport,输入输出完成端口)实现网络服务的方式.在解决了3个IOCP特有的复杂问题(信息定位问题,系统资源限制 问题,报文预处理问题)之后,利用IOCP实现了高效的网络服务程序,完全克服了多线程实现多客户端并发服务的CPU使用 量高,系统资源占用多,网络资源利用不充分,系统效率低等不足.实验结果表明,只要合理解决这3个问题,在编写网络服 务程序过程中就能顺利地使用IOCP方式.与非IOCP实现网络服务程序方式的对比,系统效率有显着提高且网络资源得到 更充分的利用. 关键词:输入输出完成端口;10完成端口;套接字;传输控制协议;网际协议 中图法分类号:TP393文献标识码:A文章编号:1000—7024(2010)17—3793—04 ResearchofkeyissuesforwritingserviceprogramusingIOCP CHENHuai—song,CHENJia-qi (SchoolofOptical-ElectricalandComputerEngineering,UniversityofShanghaiforScienceandTechnology, Shanghai200093,China) Abstract:Inordertocodenetworkserviceprogramefficientlyandresolvethelimit~ionoftheclassicmethodwhiehusesmulti-thread servemulti—client,themostpopul~mannerisstudied,whichachievesnetworkservices,namlyIOCP0/oCompletionPort).After resolvingthe3specificcomplexissues(theproblemofinformationlocation,theproblemofsystemresourceconstraints,theproblem ofpacketpre—processing)ofIOCPandefficientlyrealizingthenetworkserviceprogramusingIOCP,itisperfecttoovercomedefects ofhighCPUusing,highsystemresourceconsumption,underutilizationofnetworkresourcesandlowefficiencyusingofthesystem whenmulti-threadservermulti-client.Experimentalresultsshowmataslongasreasonablysettlingthesethreeproblems,theIOCPap- proachcanbeusedtocodethenetworkserviceprogramsuccessfully.Throughcomparingwithnon—IOCPmethodtocarryoutnetwork services,efficiencyofthesystemsignificantlyimproved,butalsothenetworkresourcesaremorefullyutilized. Keywords:IOCP;10completionport;SOCKET;TCP;IP 0引言 网络数据传输速度已经不仅仅依赖于带宽的增加,对软 件系统提出了更高的要求.随着Windows对新技术的支持, 在现有带宽前提下,开发出更高系统资源利用率,更高数据吞 吐量的网络服务程序成为可能.在开发TCP/IP协议网络服 务时,一般使用SOCKET编程,为了对大量客户端同时响应, 必定会创建大量的线程,但是线程是系统资源,它的数量是有 限制的,而且在众多线程之间切换也浪费了许多CPU时间, 严重影响了系统的效率.为了解决这些问题,微软花了数年 时间进行研究和测试的一种非常好的机制来支持这类服务, 这种机制就被称为IOCP”.但从目前的现状看,在使用IOCP 编写代码的过程中会许多棘手的问题.而其中信息定位,系 统资源限制,报文预处理.这3个问题最具代表性.对此微

文档评论(0)

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

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

1亿VIP精品文档

相关文档