在我开发完自己的IOCP库后,才知道了已经有很多现成的高并发库:boost、libevent、libuv、libhv等,而且还是跨平台的,所以我建议大家还是使用现成的库,把重要的精力花在业务逻辑上而不是调bug,除非你也是非常热爱技术、或者也想开发一个属于自己的库。我自己的库只是实现了最基本的功能,并没有涉及到更多的协议和应用,而且还没有对极端情况进行处理(比如内存满、连接上十万等等),目前也够用,但我也会慢慢转移到成熟的库上。
关于这几个库我就不介绍了,百度上都有,但注意到libhv是一个新秀,而且据介绍也有相当不错的表现,所以我的重点就在libuv和libhv上了。因为boost比较繁杂,libevent没有实现IOCP(我的业务主要是win下),所以不考虑。