首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 软件时空 > 软件相关 > WinSocket工作模式(转)
【标  题】:WinSocket工作模式(转)
【关键字】:WinSocket
【来  源】:http://www.cublog.cn/u/22534/showart.php?id=172506

WinSocket工作模式(转)

在Winsock中实现异步的方法有很多,Winsock工作模型有
下面六种
    一:select模型
    二:WSAAsyncSelect模型
    三:WSAEventSelect模型
    四:Overlapped I/O 事件通知模型
    五:Overlapped I/O 完成例程模型
    六:IOCP模型
从一到六越来越高级,越来越高效,实现越来越复杂。曾在网上看到一些比喻用来
很好的说明这些模型,贴给大家共享一下。
    老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们
的信会被邮递员投递到他们的信箱里。
一:select模型
老陈非常想看到女儿的信。以至于他每隔10分钟就下楼检查信箱,看是否有女儿的
信~~~~~
在这种情况下,“下楼检查信箱”然后回到楼上耽误了老陈太多的时间,以至于老
陈无法做其他工作。
二:WSAAsyncSelect模型
后来,老陈使用了微软公司的新式信箱。这种信箱非常先进,一旦信箱里有新的信
件,盖茨就会给老陈打电话:喂,大爷,你有新的信件了!从此,老陈再也不必频
繁上下楼检查信箱了,牙也不疼了,你瞅准了,蓝天......不是,微软~~~~~~~~
三:WSAEventSelect模型
后来,微软的信箱非常畅销,购买微软信箱的人以百万计数......以至于盖茨每天
24小时给客户打电话,累得腰酸背痛,喝蚁力神都不好使~~~~~~
微软改进了他们的信箱:在客户的家中添加一个附加装置,这个装置会监视客户的
信箱,每当新的信件来临,此装置会发出“新信件到达”声,提醒老陈去收信。盖
茨终于可以睡觉了。
四:Overlapped I/O 事件通知模型
后来,微软通过调查发现,老陈不喜欢上下楼收发信件,因为上下楼其实很浪费时
间。于是微软再次改进他们的信箱。新式的信箱采用了更为先进的技术,只要用户
告诉微软自己的家在几楼几号,新式信箱会把信件直接传送到用户的家中,然后告
诉用户,你的信件已经放到你的家中了!老陈很高兴,因为他不必再亲自收发信件
了!
五:Overlapped I/O 完成例程模型
老陈接收到新的信件后,一般的程序是:打开信封----掏出信纸----阅读信件----
回复信件......为了进一步减轻用户负担,微软又开发了一种新的技术:用户只要
告诉微软对信件的操作步骤,微软信箱将按照这些步骤去处理信件,不再需要用户
亲自拆信/阅读/回复了!老陈终于过上了小资生活!
六:IOCP模型
微软信箱似乎很完美,老陈也很满意。但是在一些大公司情况却完全不同!这些大
公司有数以万计的信箱,每秒钟都有数以百计的信件需要处理,以至于微软信箱经
常因超负荷运转而崩溃!需要重新启动!微软不得不使出杀手锏......
微软给每个大公司派了一名名叫“Completion Port”的超级机器人,让这个机器人
去处理那些信件!
其实,上面每种模型都有优点,要根据程序需求而适当选择合适的模型,前面三种
模型效率已经比较高,实现起来难道不大,很多一般的网络程序都采用前三种模型
,只有对网络要求特别高的一些服务器才会考虑用后面的那些模型。MFC中的CAsyn
cSocket类就是用的WSAAsyncSelect模型,电驴中也是用的这种,不过在寻找对应s
ocket的时候进行了优化,查找更快,在GridCast中采用的是WSAEventSelect模型,
等等。
Sap(内存结构和性能优化):【上一篇】
VS05 SDK 3.0 & DSL Tools 1.0:【下一篇】
【相关文章】
  • TWinSocketStream Write接口问题
  • WinSocket高级实现(聊天室的实现)(一)
  • WinSocket高级实现(聊天室的实现)(二)
  • 【随机文章】
  • ASP.NET AJAX 1.0 发布了
  • 将Oracle的查询结果输出为文件
  • Ultradev专题参数数值传递
  • 广州市高盛大厦宽带网络方案(1)
  • 超强比喻
  • 用 curl 和 scsh 编写 web 脚本
  • 简述Linux文件系统的目录结构
  • 菜鸟级Windows的安全
  • 吸顶天线
  • 移动开发之我见
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.