static void read_cb(struct bufferevent* bev, void* ctx)
{
struct evbuffer *input = bufferevent_get_input(bev);
struct evbuffer *output = bufferevent_get_output(bev);
printf("recv %zu byte:\n", evbuffer_get_length(input));
printf("----data---\n");
printf("%.*s\n", (int)evbuffer_get_length(input), evbuffer_pullup(input, -1));
}
{
struct evbuffer *input = bufferevent_get_input(bev);
struct evbuffer *output = bufferevent_get_output(bev);
printf("recv %zu byte:\n", evbuffer_get_length(input));
printf("----data---\n");
printf("%.*s\n", (int)evbuffer_get_length(input), evbuffer_pullup(input, -1));
}
本文介绍了一个使用libevent库实现的读回调函数示例。该示例展示了如何从缓冲事件中获取输入和输出缓冲区,并打印接收到的数据长度及具体内容。这对于理解libevent的工作原理及其在网络编程中的应用非常有帮助。

1486

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



