快速构建MMO服务器框架(二)网络:选用boost库

来源:互联网 发布:淘宝上的色情杂志 编辑:程序博客网 时间:2024/04/28 01:51

    好像地球上还没有不支持网络的网游服务器吧。 

    以下几篇文章将尝试用boost库来实现服务器的网络相关功能。
    备选的库还有ACE和libevent。
    ACE太胖,个人比较反感标准容器都自己实现的做法。
    libevent太瘦,其它功能不够丰富。
    boost不胖不瘦,兼容和增强stl,一堆丰富的类库,asio直接把高性能的网络并发模型封装好了,还可以很方便的使用其提供的流过滤器进行压缩和加密(以后会提到),而且跨平台,首选。
    boost也有不爽的地方。如
    功能太杂。(不用就是了)
    某些编译器支持得不好。(较新版本的gcc和vs都能支持,做网游有这两个就够了,此条可以鸵鸟...)
    上手曲线较陡,一些功能需要程序员对c++有较深的理解。(合理的功能划分可以让大部分程序员去写脚本,少数人写c++,少数中的少数去粘合boost,所以此条也可以无视)
    模板太多,编译错误会出现一堆火星文。(忍了)
    模板和宏trick太多,某些实现会造成编译过慢和可执行文件体积膨胀过度。(对于网游来说问题也不大,继续鸵鸟)
    无所舍,无所得。用了。