// BufferEvent_Test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "winsock2.h"
#include "event.h"
#include "event2/listener.h"
#include "event2/bufferevent.h"
#include "iostream"
using namespace std;
//错误和超时处理
void event_cb(bufferevent *be,short events,void *arg)
{
cout<<"[E]"<<flush;
//读取超时事件发生后,数据读取停止
if(events & BEV_EVENT_TIMEOUT && events & BEV_EVENT_READING)
{
cout<<"BEV_EVENT_READING BEV_EVENT_TIMEOUT"<<endl;
bufferevent_free(be);
}
else if(events & BEV_EVENT_ERROR)
{
bufferevent_free(be);
}
else
{
cout<<"OTHERS"<<endl;
bufferevent_free(be);
}
}
void write_cb(bufferevent *be,void *arg)
{
cout<<"[W]"<<endl;
}
void read_cb(bufferevent *be,void *arg)
{
cout << "[R]" << endl;
//读取输入缓冲数据
char data[1024] = {0};
int len = bufferevent_read(be,
Libevent---bufferevent读取数据
最新推荐文章于 2024-03-15 20:07:22 发布