libevent入门篇

libevent作为一个c网络库具有很好的可移植性。因为他包含了很多可移植的接口封装如linux支持的epoll、select,BSD支持的kqueue,window select等。

学习libevent最好的方式就是阅读源码,首先我们需要看一下libevent的官方网站介绍首先对其有一个了解,介绍是英文写的很好,这里给个链接http://libevent.org/。

        看完这个链接后我们其实需要继续学习一下什么叫做异步IO, libevent是这么称呼的,其实IO一共有五种,分别是阻塞IO、非阻塞IO、IO复用、异步IO、信号IO。这个在UNIX网络编程里面都有介绍。libevent这里指的异步IO其实和IO复用是一个意思。我们暂时可以先这样理解。linux里面的异步IO其实调用的诸如aio_read之类的接口,read之后并不直接返回数据,当数据真正被读取后,内核会告诉用户数据已经从内核拷贝到了用户空间。libevent之所以叫做异步IO是因为整个框架是基于事件的注册和响应这个层面来讲的。首先需要将描述符设置为非阻塞状态,然后将它注册对应的事件以及事件回调函数。当事件发生时回调函数开始执行,其实这就是linux下epoll的一个封装,只不过libevent给做的接口更加好用方便而已,这就是我的初步理解啦。

       libevent里面讲解它的异步IO的文章在这里,里面讲的很详细,从最开始的阻塞到select再到epoll,再到libevent的详细代码,步步深入,大家学习的时候不妨看看官方给的例子。给个链接。http://www.wangafu.net/~nickm/libevent-book/01_intro.html

      后面的开始动手写一个简单的server吧,参考官方的api手册,必要的话可以看下源码哦,加油

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值