用完成端口(IOCP)实现一个简单的服务器框架

上传者: ws07_byyy | 上传时间: 2021-05-07 13:36:07 | 文件大小: 117KB | 文件类型: GZ
IOCP 对于高并发的应用程序提供了良好的支持,使得开发高并发的应用程序的难度降低了很多。 IOCP 作为系统底层的 API ,保持了尽可能高的灵活性,对于很多复杂的情况,IOCP 也一样适用。 这种灵活性是一种双刃剑,对于复杂的情况,没有这种灵活性就没有办法完成工作。 但是对于简单的情况,这种灵活性就带来了额外的负担。 这里将要提到的这个服务器框架(spserver/iocp版),主要是针对以下的这几种典型的应用程序 1.echo/http 类型,server 不需要在多个 client 之间转发消息 2.chatroom 类型,server 在多个 client 之间转发消息 在使用 IOCP 来实现这两类应用程序的时候,会遇到一些共同的问题 1.当连接断开的时候,在 server 端为这个连接分配的资源如何妥善地进行释放 2.如何为每一个 IO 操作设定一个超时时间,以使得 server 能够更好地了解每个连接的当前情况 spserver 通过使用 hash 表的方式来解决资源释放的问题,具体的讨论可以参考 http://groups.google.com/group/dev4server/browse_thread/thread/29a91064931a628e spserver 通过使用类似 libevent 的 min-heap 来解决 IO 操作超时的问题,具体可以参考 http://groups.google.com/group/dev4server/browse_thread/thread/0978e2e1a5c8e2fb 在上一个版本(0.9)中,spserver 在 windows 平台还是基于 libevent + pthread-win32 来实现的。 最新版本(0.9.1),在 windows 平台改成使用 IOCP + Windows Thread 来重新实现。 最新版本在 Windows 平台已经不再需要依赖第三方的库了。 主页和下载地址 http://code.google.com/p/spserver/ http://spserver.googlecode.com/files/spserver-0.9.4.src.tar.gz 关于 spserver 更多的介绍,请参考 http://iunknown.javaeye.com/blog/59804

文件下载

评论信息

  • 天下一座城 :
    支持上传者,谢谢。
    2018-03-22
  • 闪破风浪 :
    不错的资源,谢谢分享!~~~
    2018-01-14
  • whx_pro_fun :
    很好的资料,还不要积分
    2016-12-19
  • fanzy1984 :
    很好,可以用,学习了,谢谢分享!
    2016-06-05
  • 漠上行云 :
    不错的代码,学习了
    2016-05-19
  • whellyccc :
    vs2008打不开,是什么原因呢
    2016-05-06
  • Jsharben :
    不错,感觉还可以,有借鉴的地方
    2015-07-29
  • iaoniendk :
    下载学习一下代码,参考怎么设计iocp
    2015-05-23
  • spfenghua :
    在java标签下,但是是C实现的,和java无关
    2015-04-24
  • answerear :
    好多类,需要慢慢看,慢慢分析才能看清楚里面的设计
    2015-01-06

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明