Archives

帖子来自 susubuhui_ RSS

susubuhui_

高性能的 socket 通讯服务器(完成端口模型--IOCP)

作者: susubuhui_ (1 篇文章) 日期: 二月 16, 2011 在 2:15 下午
评论 (1)

很多人费尽心思,都没有找到一个完美的 I/O CP 例程,甚至跟人于误解,先将本人编写的例程公布出来,希望对那些苦苦寻觅的人带来收获。本例程可以作为初学者的学习之用,亦可以作为大型服务程序的通讯模块。其处理速度可以说,优化到了极点。如果理解了本例程的精髓,加上一个高效的通讯协议,你完全可以用它来构建一个高性能的通讯服务器。 在公布代码前,先谈谈I/O CP。对I/O CP的函数不多做说明了,网上很多,都一样。在此本人仅说一些技术上要注意的问题。 一、如何管理内存 1、IO数据缓冲管理 动态分配内存,是一种灵活的方式。但对于系统资源浪费是巨大的。因此本人采用的是预先分配服务器最大需要的内存,用链表来管理。任何时候分配交还都不需要遍历,仅需要互斥而已。 更巧妙的是,将IO发送信息和内存块有机的结合在一起,减少了链表的管理工作。 //IO操作标志 TIOFlag = (IO_ACCEPT, IO_READ, IO_WRITE); //IO操作信息 PIOInfo ...

继续 ›

分类: 博客征文专栏, 并行计算, 服务器