手把手教你玩转socket模型之重叠io篇

手把手教你玩转socket模型之重叠io篇

ID:18106568

大小:91.00 KB

页数:8页

时间:2018-09-13

手把手教你玩转socket模型之重叠io篇_第1页
手把手教你玩转socket模型之重叠io篇_第2页
手把手教你玩转socket模型之重叠io篇_第3页
手把手教你玩转socket模型之重叠io篇_第4页
手把手教你玩转socket模型之重叠io篇_第5页
资源描述:

《手把手教你玩转socket模型之重叠io篇》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、手把手教你玩转SOCKET模型之重叠I/O篇“身为一个初学者,时常能体味到初学者入门的艰辛,所以总是想抽空作点什么来尽我所能的帮助那些需要帮助的人。我也希望大家能把自己的所学和他人一起分享,不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是不肯付出时的吝啬。”-----题记ByPiggyXP(小猪)前言其实我首先应该道歉,因为7月份的时候曾信誓旦旦的说要写一套关于SOCKET所有模型的入门文章以及配套代码,不过没想到后天竟然被美女所迷出去度假了,刚刚回来不久。。。。。。-_-b其实那些模型的配套代码我已经基本写完了,只是没写配套文字,不过我想还是先从稍微

2、难一点的模型写起吧,因为其他模型的入门毕竟要简单一些。不过由于也是初学者,疏漏之处还望不吝指正。本文凝聚着笔者心血,如要转载,请指明原作者及出处,谢谢!^_^OK,Let’sgo!Havefun!!q^_^p本文配套的示例源码下载地址(VC.net2003编写的多客户端MFC代码,配有详尽注释,只是简单的显示一下客户端发来的字符,稍加改进就是个聊天室了):http://www.haha567.com/PiggyXP/OverlappedModel.rar(unix系统,千万注意链接大小写)非常感谢网络版的limin兄弟为我无偿提供的空间,以及在我学习过

3、程中给我的大力帮助与支持,真的非常感谢他,感激涕零啊~~~~~T_T也欢迎大家光临他的Blog一起讨论网络技术http://blog.haha567.com/(本文假设你已经具备用SOCKET简单模型编程的能力,如果对SOCKET一无所知请关注本系列其他文章)目录:1.重叠模型的优点2.重叠模型的基本原理3.关于重叠模型的基础知识4.重叠模型的实现步骤5.多客户端情况的注意事项一.            重叠模型的优点1.     可以运行在支持Winsock2的所有Windows平台,而不像完成端口只是支持NT系统。2.     比起阻塞、selec

4、t、WSAAsyncSelect以及WSAEventSelect等模型,重叠I/O(OverlappedI/O)模型使应用程序能达到更佳的系统性能。因为它和这4种模型不同的是,使用重叠模型的应用程序通知缓冲区收发系统直接使用数据,也就是说,如果应用程序投递了一个10KB大小的缓冲区来接收数据,且数据已经到达套接字,则该数据将直接被拷贝到投递的缓冲区。而这4种模型种,数据到达并拷贝到单套接字接收缓冲区中,此时应用程序会被告知可以读入的容量。当应用程序调用接收函数之后,数据才从单套接字缓冲区拷贝到应用程序的缓冲区,差别就体现出来了。otherstaffof

5、theCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationof

6、StateenterprisesMinister,ShenmufuguSARmissions,DirectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Ministersand3.     从《windows网络编程》中提供的试验结果中可以看到,在使用了P41.7GXero处理器(CPU很强啊)以及768MB的回应服务器中,最大可以处理4万多个SOCKET连接,在处理1万2千个连接的时候CPU占用率才40%左右――非常好的性能,

7、已经直逼完成端口了^_^二.            重叠模型的基本原理说了这么多的好处,你一定也跃跃欲试了吧,不过我们还是要先提一下重叠模型的基本原理。概括一点说,重叠模型是让应用程序使用重叠数据结构(WSAOVERLAPPED),一次投递一个或多个WinsockI/O请求。针对这些提交的请求,在它们完成之后,应用程序会收到通知,于是就可以通过自己另外的代码来处理这些数据了。需要注意的是,有两个方法可以用来管理重叠IO请求的完成情况(就是说接到重叠操作完成的通知):1.     事件对象通知(eventobjectnotification)2.    

8、 完成例程(completionroutines),注意,这里并不是完成端口而本文只是讲述如何

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。