libevent 中的应用程序驱动事件

Posted

技术标签:

【中文标题】libevent 中的应用程序驱动事件【英文标题】:application-driven events in libevent 【发布时间】:2011-02-16 18:12:05 【问题描述】:

我想使用 libevent 来制作事件驱动应用程序的原型。具体来说,我想使用 php libevent 扩展。

我想知道的是以下内容。 libevent 似乎围绕打开文件处理程序/套接字/流事件。我希望能够抛出我自己的应用程序驱动事件进行通信。

那么,如何使用文件句柄来传递自定义事件?这真的是要走的路吗?

【问题讨论】:

【参考方案1】:

解决方法如下..

没有必要以这种方式处理非基于 io 的事件,因为它们永远不会出现在事件循环中。

规则差不多,“所有基于 io 的事件都添加到循环中,所有其他事件都立即执行”。

这确实让我不得不“伪造”事件,或者只是稍微推迟执行。 libevent 确实提供了定时事件,并且有一个 PHP api 用于此,但它没有记录,我无法让它工作。

【讨论】:

以上是关于libevent 中的应用程序驱动事件的主要内容,如果未能解决你的问题,请参考以下文章

Redis源码解析:13Redis中的事件驱动机制

libevent

如果我想要事件驱动服务器,该使用啥 libevent 或 libev?

libevent & Reactor模式

libevent学习笔记(参考libevent深度剖析)

libevent的作用或者说是有哪些功能