//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