大型c/s结构框架,基于boost.asio,有源码及教程
st_asio_wrapper,目前最新稳定版本2.0
源码下载:http://download.csdn.net/detail/yang79tao/4543258
教程共三篇(第一篇):http://blog.csdn.net/yang79tao/article/details/7724514
主要功能:
虽然名字叫wrapper,但它不仅仅是包装boost.asio,而是实现了一个c/s结构框架;
最简单的开发只需要在客户端申明一个st_client对象,在服务端申明一个st_server对象,然后分别调用stat_service即可,当有数据需要发送时,调用send_msg发送数据,当有数据收到时,默认会输出到屏幕,二次开发者只需要重写on_msg_handle虚函数,即可自己处理消息,此时就已经实现了一个支持成千上万的c/s结构的服务端加客户端。
具体说来:
完全异步加多线程,线程数量可配置(宏),如果想要单线程,则配置一个线程即可;
数据透明传输,即自动打包解包,自动解决数据分包粘包乱序等问题;
支持自定义打包解包器,且可运行时修改;
服务端自动管理所有客户端状态;
服务端支持对象池;
服务端支持垃圾对象(已关闭的客户端对象)回收;
两端都带输入输出缓存;
跨平台,支持ipv6;
注:大量使用了c++0x特性,其中有个rang-based loop for新语法,在vc2010都编译不过(需要vc2012);但所有用到的特性都只是语法糖,相信大家很容易修改为原来的基本语法;
gcc则没有问题(我只在4.6.3及其以上版本中试过);
需要编译boost的system和thread库。建议使用1.50.0及其以上的boost版本,低版本的我没试过,我相信,只要编译能过,应该都能使用。