PHP高性能I/O框架Libevent的使用详解
10页1、PHP高性能I/O框架Libevent的使用详解Libevent 是一个用C语言编写的、轻量级的开源高性能I/O框架,支持多种 I/O 多路复用技术: epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。PHP提供了对应的扩展libevent、Event。libevent扩展很久没有更新了,仅支持PHP5系列,PHP7虽然有网友fork了 libevent 扩展的源码进行更新兼容,但是稳定性不好,可能会出现段错误,所以PHP7最好使用 Event 扩展。与libevent扩展不同的是,Event 扩展提供了面向对象的接口,且支持更多特性。libevent扩展系统需要先安装 Libevent 库:?1yum install libevent-dev然后安装PHP扩展。PHP5安装:?1pecl install libevent-0.1.0PHP7安装(不稳定):?12345git clone https:/ pecl-event-libeventphpize./configuremake & sudo mak
2、e install注:后面的代码示例均使用的php5.6+libevent-0.1.0环境。基本使用下面的例子实现了一个单进程的TCP server,基于libevent实现I/O复用,达到高性能。libevent_tcp_server.php?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115!-php $receive = ;$master = ;$buffers = ;$socket = stream_socket_server (tcp:/0.0.0.0:9201, $errno, $errstr);if (false = $socket ) echo $err
3、str($errno)n;exit();if (!$socket) die($errstr.-.$errno);stream_set_blocking($socket,0);$id = (int)$socket;$master$id = $socket;echo waiting client.n;/accept事件回调函数,参数分别是$fd, $events, $arg。/也就是 event_set 函数的$fd, $events, $arg参数。function ev_accept($socket, $flag, $base)global $receive;global $master;global $buffers;$connection = stream_socket_accept($socket);stream_set_blocking($connection, 0);$id = (int)$connection;echo new Client $idn;$event = event_new();event_set($event, $connection, EV_READ |
《PHP高性能I/O框架Libevent的使用详解》由会员m****分享,可在线阅读,更多相关《PHP高性能I/O框架Libevent的使用详解》请在金锄头文库上搜索。
DB2发生死锁情况时应该怎么处理
Python 为何能成最强编程语言
面试前必须要知道的Redis面试
MySQL下自动删除指定时间以前的记录的操作方法
深入理解FastCGI协议以及在PHP中的实现
MySQL数据库性能优化之硬件瓶颈分析
NoSQL数据库大全收集整理
2018 – 2019 年前端 JavaScript 面试题
PHP文件包含漏洞的形式总结
5种使用Python代码轻松实现数据可视化的方法
改进JavaScript和Bust的互操作性:深入认识wasm-bindgen组件
C#图片缩放平移从功能分析到编码实现
详解网络蜘蛛的安全隐患及预防方法
利用NAP解除安全隐患自动隐藏你的IP地址
解决分布式数据库和离线网络中原子性问题的新方法
bbed恢复数据遇到延迟块清除的问题
Oracle Data Redaction数据加密
linux下du和df结果不一致的原因及处理
基于QMP实现对qemu虚拟机进行交互
解读Java并发队列BlockingQueue
2023-08-28 7页
2023-08-15 11页
2020-05-10 4页
2020-05-10 4页
2020-05-10 6页
2020-05-10 5页
2020-05-10 5页
2020-05-10 3页
2020-05-10 5页
2020-05-10 4页