`
阿尔萨斯
  • 浏览: 4136997 次
社区版块
存档分类
最新评论

关于IOCP的更进一步理解

 
阅读更多
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>

  接触IOCP的概念是在今年4月份刚开始作网游的时候,如果不是作网络编程特别是服务器编程的朋友,可能连IOCP的概念都不知道,这一点都不奇怪。正如一位网友所说的,IOCP说白了就是一个系统级队列及对这个队列进行维护的一个机制,我们只要按照基本固定的方式来调用相关的函数,就可以实现一个基于IOCP架构的服务器模型。建立IOCP的基本步骤很多资料上都有介绍,随便找找就能找到一大堆,我使用的语言是DELPHI,最终实现的服务器,测试的时候一个客户端开了3000个左右的端口来连接服务器,结果客户端先报系统资源错误了,而服务器还是好的。我想这样的测试已经基本可以满足我的游戏服务器需要了。

  基于我现在的理解,可能影响IOCP效率的主要有两点:一个是空闲的无用连接;另一个是每次发送、接收时使用的HANDLEDATA。针对于这两点,现在已经有不少人提出了比较好的实现方案。对于空闲连接,可以有专门的线程进行监视,一个连接上来多长时间一直没有发送数据上来就断开这个连接;对于每次在发送和接收时都必须创建新的HANDLEDATA则可以事先创建一个HANDLEDATA数据块的队列结构,用的时候从头部取,不用的时候从尾部存。

  如今,项目已经开展了将近七个月,总体的项目进度不能让人满意,不过,值得总结的经验还是很多的,现在公司的第二个游戏开发接近尾声,相应的服务器构架和客户端架构随着两款游戏的基本完成也算大致定了下来。不过,前方的路还很长,产品本身离我所设想的构架还相差不少距离,后面的路还很长,总之希望达到的目标是:让玩家在游戏中能找到快乐,忘掉生活的烦恼。呵呵。


分享到:
评论

相关推荐

    IOCP本质论-----关于IOCP本质的文章

    一直以来就想写一篇关于IOCP本质的文章,也在网上零星的有一些介绍其本质的概念,可是没有一篇从整理来分析并讲解的文章,借着这次开发将近完毕,还有自己的服务器设计开发的书籍也要加快进度,这次也算一节内容了

    IOCP完成端口原理

    IOCP完成端口原理IOCP完成端口原理

    IOCP详细理解

    详细清楚的讲解IOCP本质原理,使初学者少走弯路

    学习iocp的例子学习iocp的例子

    一个关于iocp的很好的例子 学习iocp的例子

    一个关于IOCP的简单DEMO

    一个关于IOCP的简单DEMO 服务器端和客户端都有,测试通过

    IOCP 服务器端 IOCP 服务器端

    IOCP 服务器端 IOCP 服务器端 IOCP 服务器端

    IOCP文件客户端 IOCP文件客户端

    IOCP文件客户端 IOCP文件客户端 IOCP文件客户端

    IOCP详细介绍资料

    关于IOCP的非常详细的介绍哈,在这篇文章中提到的相关技术: I/O端口 同步/异步 堵塞/非堵塞 服务端/客户端 多线程程序设计 Winsock API 2.0

    iocp资料技术文档

    iocp 资料

    VC IOCP示例程序

    根据多年IOCP编程经验,写了个DLL,个人认为封装的比较完善。IOCP概念比较难于理解,最好有些基础,再看代码。

    IOCP Tcp服务器入门源码

    iocp模型的入门源码,包括一个基于iocp的TCP服务端,和一个客户端。适合新手,高手绕过。更多关于iocp的介绍请见 http://blog.csdn.net/cloud95/article/details/7406128

    Client IOCP.zip

    C# iocp IO模型C# iocp IO模型C# iocp IO模型C# iocp IO模型C# iocp IO模型C# iocp IO模型C# iocp IO模型C# iocp IO模型C# iocp IO模型

    VC的IOCP开发,iocp类,demo

    vc开发的iocp的服务器实例,可作参考。 包括iocp类,包括demo。 iocp是windows下最后的socket服务器模型。

    微软提供IOCP例子

    IOCP,微软提供IOCP例子,非常经典的IOCP例子'。非入门iocp的非常有参考价值。IOCP,微软提供IOCP例子,非常经典的IOCP例子'。非入门iocp的非常有参考价值。

    iocp 客户端

    iocp 客户端

    IOCP Server

    iocp .

    IOCP

    {**************************************************** IOCP Socket Server 主要参考自CodeProject下载源码, 特别感谢张无忌的帮助 这个版本还很粗糙,很多地方没有处理好,最近 比较忙,没有精力和时间来完善它...

    epoll/iocp 比较

    关于epoll iocp select等网络模型运行实例代码

    iocp 8_10iocp 8.10

    iocp 8.10

Global site tag (gtag.js) - Google Analytics