想找个C++的跨平台的,高性能的,易于使用的通讯库,在考虑过libevent、boost::aio、libapr、libev、libuv之后,又看到了gnome的gnio

为什么这个库这么难找呢,这是由于linux下必须用epoll性能才高,在windows下必须用iocp性能才高。而这两个机制差异太大,不容易整合到一起。

退而求其次,只要这个库能支持一万个并发连接的时候性能还过得去就好了。

跨平台重要吗?对很多公司其实都是重要的。很多公司都面临windows/linux的混合环境。各搞一套也不是不可以,很别扭。

最优方案肯定是跨linux/windows整一套通讯库出来,然后天下太平。为什么就没有这样的库呢?主要原因是windows的iocp太猥琐了,与传统的select/poll/epoll模式完全不同。


注:

至少到2012年为止,libevent的维护者说iocp support现在还不够稳定:" If .... you need your IOCP support *now*, you might want to look at boost::asio or something."

然后boost那个怪兽我肯定不想去碰的。


GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐