-
头文件: #include <event2/bufferevent.h>;
-
bufferevent的理解:
(1).bufferevent是libevent为IO缓冲区操作提供的一种通用机制;
(2).bufferevent由一个底层的传输端口(如套接字),一个读取缓冲区和一个写入缓冲区组成。
(3).bufferevent在读取或者写入了足够量的数据之后调用用户提供的回调 -
回调-缓冲区对应的操作: 每个bufferevent有两个数据相关的回调
(1).一个读取回调
从底层传输端口读取了任意量的数据后会调用读取回调(默认)
(2).一个写入回调
输出缓冲区中足够量的数据被清空到底层传输端口后写入回调会被调用(默认)
4. bufferevent的使用: (1).创建基于套接字的bufferevent: 函数:struct bufferevent * bufferevent_socket_new( struct event_base *base, evutil_socket_t fd, enum bufferevent_options options );参数: -base:事件管理器 -fd:socket套接字 -options:REV_OPT_CLOSE_ON_FREE返回值:成功返回一个bufferevent,失败返回BULL;(2).bufferevent读写缓冲区回调操作:
函数:void bufferevent_setcb( struct bufferevent * bufev, bufferevent_data_cb rea
libevent | 3.libevent应用带缓冲区的事件 —— bufferevent
最新推荐文章于 2024-10-05 00:03:33 发布
本文介绍了libevent的bufferevent机制,它包含读取和写入缓冲区,当达到一定量的数据时触发回调。bufferevent通过事件管理器、套接字创建,提供读写回调函数,支持事件状态的启用、禁用和查询。同时,详细阐述了如何向缓冲区添加和移除数据,以及释放bufferevent资源和客户端连接服务器的实现。

最低0.47元/天 解锁文章
5099

被折叠的 条评论
为什么被折叠?



