博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php libevent 详解与使用
阅读量:6190 次
发布时间:2019-06-21

本文共 1465 字,大约阅读时间需要 4 分钟。

libevent是一个基于事件驱动的高性能网络库。支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。
 
常量如下:
常量名 含义
1 EV_TIMEOUT 超过时间后事件成为激活状态
2 EV_READ FD就绪,可以读取的时候 ,事件成为激活状态
4 EV_WRITE FD就绪,可以写入的时候 ,事件成为激活状态
8 EV_SIGNAL 用于实现信号检测
16 EV_PERSIST 表示事件是持久的
32 EV_ET 表示底层是否支持边沿触发事件
1 EVLOOP_ONCE 如果设置了EVLOOP_ONCE,循环将等待某些事件成为激活的,执行激活的事件直到没有更多的事件可以执行,然会返回。
2 EVLOOP_NONBLOCK 如果设置了EVLOOP_NONBLOCK,循环不会等待事件被触发:循环将仅仅检测是否有事件已经就绪,可以立即触发,如果有,则执行事件的回调。
 
函数如下:
event_base_free() 释放资源,这不能销毁绑定事件event_base_loop() 处理事件,根据指定的base来处理事件循环event_base_loopbreak() 立即取消事件循环,行为各break语句相同event_base_loopexit() 在指定的时间后退出循环event_base_new() 创建并且初始事件event_base_priority_init() 设定事件的优先级event_base_set() 关联事件到事件baseevent_buffer_base_set() 关联缓存的事件到event_baseevent_buffer_disable() 禁用一个缓存的事件event_buffer_enable() 启用一个指定的缓存的事件event_buffer_fd_set() 改变一个缓存的文件系统描述event_buffer_free() 释放缓存事件event_buffer_new() 建立一个新的缓存事件event_buffer_priority_set() 缓存事件的优先级设定event_buffer_read() 读取缓存事件中的数据event_buffer_set_callback() 给缓存的事件设置或重置回调函数event_buffer_timeout_set() 给一个缓存的事件设定超时的读写时间event_buffer_watermark_set 设置读写事件的水印标记event_buffer_write() 向缓存事件中写入数据event_add() 向指定的设置中添加一个执行事件event_del() 从设置的事件中移除事件event_free() 清空事件句柄event_new() 创建一个新的事件event_set() 准备想要在event_add中添加事件
例1如下:
上述代码在等待了5秒后打印出run...后程序结束。
我们把上述代码修改一下:
上述代码会每隔1秒钟打印出run...,只是因为我们在event_set时使用了EV_PERSIST,表示该事件是一个持久的。
 
例2如下:
代码每隔1秒钟,会从标准输入中读取用户输入的内容,再打印出来。
 
例3如下:

 

转载于:https://www.cnblogs.com/jkko123/p/6294591.html

你可能感兴趣的文章
Gitlab的管理使用手册
查看>>
【VMCloud云平台进阶篇】应用层面优化
查看>>
案例分享:Windows Phone上的移动浏览体验
查看>>
Bearcat pomelo game 实战 -- treasures
查看>>
EIGRP passive-interface
查看>>
体验vSphere 6之2-vCenter 6
查看>>
傻瓜式操作的三个网络赚零花钱的小项目
查看>>
你能给我的手机推荐一款安全软件吗?
查看>>
利用python并发模块进行网站的状态检测
查看>>
生命需要不断的学习
查看>>
一次和公司总监的聊天...
查看>>
.net小插件:indent guides
查看>>
CherryPy上传文件
查看>>
谈谈互动型网站中垃圾贴的应对方案,互联网营销
查看>>
[Scottgu]ASP.NET vNext系列——数据选择
查看>>
C++ 一些技巧
查看>>
一些实用的DBA语句(持续学习,持续更新)
查看>>
TraceView
查看>>
Linux free命令详解(转)
查看>>
大批量文件处理的7条建议
查看>>