libevent
CAir2
这个作者很懒,什么都没留下…
展开
-
bufferevent_socket 客户端实现心跳和重连机制
重连机制重连可能是一开始就没链接上,也可能是被断开,也可能是网络波动,原因很多,对于一开始就没链接上的socket我们可以复用重新connect,但是对于被断开的socket是不能被复用的,必须重新创建然后connect,所以为了方便我们不管什么原因都选择重新创建并connectvoid ClientSockItem::Connect(){ CStringA strFomat; strFomat.Format("[NetUtil] ClientSockItem[%I64u]::Connect\r\原创 2020-11-17 16:38:21 · 868 阅读 · 3 评论 -
libevent之events分析
参考博客:https://blog.csdn.net/windeal3203/article/details/527722331.event 状态event:主要分为三种状态及转换:initialized、pending、active关联base=>initialized状态event_add=>pending状态触发事件,调用回调=>active状态event_d...原创 2019-06-05 15:08:27 · 385 阅读 · 0 评论 -
event loop
1.开始循环event_base_loop 三种模式:不管哪种模式,如果没有Event加入,event_base_loop 都将直接返回。EVLOOP_ONCE: 如果没有event,那么程序直接返回 ,否则一直阻塞直到完成一次事件触发回调才退出。EVLOOP_NONBLOCK: 不阻塞进程,如果没有event或者没有事件触发,那么程序直接返回。如果存在事件,则调用优先级最高的事件一次回调...原创 2019-06-20 16:44:30 · 323 阅读 · 0 评论 -
libevent 编译
1.下载源码github:https://github.com/libevent/libevent官网:http://libevent.org/2.CMake 编译在libevent源码目录建立文件夹:BuildVs2010_x642.打开CMake3.BuildVs2010_x64 下此时生成了vs2010的解决方案。然后编译生成就okNOTE:如果上述报SSL错,请安转Op...原创 2019-06-05 09:54:05 · 1033 阅读 · 0 评论 -
evconnlistener tcp高并发服务
libevent本事已经很好的实现了tcp服务,但是libevent在windows下默认的是select模型。select相对IOCP模型而言并发量和性能都要差很多。所以我们需要使用IOCP模型。1.启用IOCP模型的tcp服务1.1 启用windows线程安全模型evthread_use_windows_threads1.2启用IOCP模型event_config *cfg = e...原创 2019-09-04 16:45:00 · 412 阅读 · 0 评论