看到很多技术牛人写的文章,受益匪浅,也很羡慕,羡慕他们的技术还有文采。平时自己的技术积累都记在自己的笔记上,写成博客分享给别人也是个很不错的选择,今天分享一个网络库选择的文章,当时我负责公司服务器的改造工作,需要选择一个适合的开源网络库。
欲使用开源网络库libevent、libev、libuv、IOCP、asio、muduo中的一个,经过对比分析,因本服务器系统目前于windows下运行,考虑到未来跨平台的支持,最终选定libevent开源网络库。
技术对比:
1.libevent
C语言跨平台,应用最广泛,历史悠久的跨平台事件库。这是一个用纯C写的开源库,属于一个轻量级的网络中间件。其中用到的基本数据结构也是非常巧妙。展现反应堆模型的基本使用方法。不同的事件对应不容的处理方法。I/O 定时 信号。三种事件的处理单独分开,又通过事件驱动融合在一起。
优先级特性:激活的事件组织在优先级队列中,各类事件默认的优先级是相同的,可以通过设置事件的优先级使其优先被处理。
libevent