libevent的使用

  一般而言,我们有时候也需要写一些网络通信的功能,但是,用原生的TCP/UDP又让人感觉麻烦。所以,我们还是希望用某些lib。libevent就是一个很好的选择。只要花费一两个小时看了官方的文档[2],还是很容易开始使用这个lib的。
  对于客户端程序,大多数情况下只有一个连接,甚至是一问一答这样的模式。是非常简单的模式。在服务端,我们一般使用Linux,相信现在使用BSD的也少了,更不用说Windows。所以,基本上也相当于我们使用libevent,也只是对epoll做了一层封装而已。但是,这层封装其实是非常好的、必要的。像我这样只是一年内有两周时间写网络相关代码的人,真的是没有时间来看TCP协议的细节和epoll的各种坑等等(即使有坑,我们这样的内部工具基本上也不怎么在意,死了重启,也不会影响重要业务)。libevent真的节省了时间,简单的先把功能实现出来即可。
  另外,libevent也提供了HTTP解析的功能,我们可以实现一个简单的HTTP server,可用来提供redis、memcache等的HTTP接口。这样的需求,使用OpenResty实现会更简单。
   15年末,老总的另外一个公司需要做VPN系统,用来辅助游戏加速和国内视频观看,搞了一通,还是不喜欢跟网络相关的开发工作的,这里面的坑很多。

  1. https://github.com/libevent/libevent
  2. http://www.wangafu.net/~nickm/libevent-book/TOC.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值