发布一个采用boost::asio写的异步网络通信模块

来源:互联网 发布:编程小白 编辑:程序博客网 时间:2024/05/22 06:19
//lihaoyxj@gmail.com
//lihaoyxj.cublog.cn
最近要写网络通信的一个相对复杂的应用,一直希望找出一个合适的网络通信框架,最终我个人选择boost::asio来实现,主要是因为asio要比ACE相对简单很多,第二是boost库里的东西非常丰富,在针对以后开发时,该库也可以带来很多的便捷。
因为很多中间的杂事,一直到现在才初步把结构做出来,暂时先发布,以后有改进再提交好了。
在这里想特别感谢网友吴楚元的帮忙,他针对boost帮了我非常多,同时整个框架中有一部分是从他的一个电力系统中提出来的。
整体目录结构:

frame中是网络代码,network中是tcp,udp 下是udp的部分,libs中,是主要放置别的模块,在网络通信中,主要是加了asio的线程锁;protocol中是协议部分,主要有一个message_block,这个是一个针对套接字收发数据时一个缓存类,思想来自于ace中的message_block.源代码:
文件:network_frame.zip大小:41KB下载:下载
在每个具体模块中都由异步读网络IO,而传到一个类似process_base的类的继承类处理相关的数据,暂时很多地方没统一,需要使用的网友可以先用起来或自己改造一下。
如果哪位有更好针对这个项目的建议,可以告诉我一声。

 

 TAG boost::asio 异步 网络

 

转自 http://blogold.chinaunix.net/u3/94873/showart_2163937.html