问题标签 [libevent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
http - Libevent HTTP 服务器和压缩?
我在我的应用程序中使用 libevent2 来托管一个 http 服务器。我找不到压缩输出的内置方法。
这些是我正在考虑的选项:
- 在发送响应之前,在我的应用程序中使用 zlib 应用 gzip/deflate 压缩
- 破解 libevent 的 http.c 以暴露 evhttp_connection->bufev(bufferevent 对象),并对传出数据应用 zlib 过滤器
(两者都从 Accept-Encoding 标头中读取支持的压缩格式)
有没有更简单的方法我可以忽略,或者这差不多?
c++ - 如何使用 Visual Studio 2008 构建 libevent 2.0.10 版
有人对使用 Visual Studio 2008 构建 libevent-2.0.10 有明确的说明吗?
c++ - nodejs 与运行 libevent 有何不同?
我很好奇是什么让 nodeJS 获得了它现在获得的超级并发性。我实际上并没有太多地使用其中任何一个,只是在空闲时间玩了两个。
听起来节点承诺您可以设置它的 1000 个连接,即使使用 libevent 也可以做到这一点,比如在 C++ 中,不是吗?
linux - 使用 libevent2 处理文件 I/O 的问题
我使用 libevent2 有一段时间了,但通常我用它来处理网络 I/O(使用套接字)。现在我需要阅读许多不同的文件,所以我也想使用它。我创建了这段代码:
不幸的是,它不起作用。尝试添加事件时收到此消息:
[警告] fd 7 上的 Epoll ADD(1) 失败。旧事件为 0;读取更改为 1(添加);写入更改为 0(无):不允许操作添加文件事件:不允许操作
该文件存在并具有读/写权限。
任何人都知道如何使用 libevent 处理文件 IO?我也想过缓冲事件,但在 API 中只有函数 bufferevent_socket_new() 在这里不适用。
提前致谢。
c++ - 使用 libevent 或 boost::asio 的单线程中的多个 tcp 连接。这是可能的?
是否可以使用 libevent 在一个线程中创建到不同服务器的多个 tcp 连接?你能写一个这样的任务的示例实现吗?
我已经这样做了,但不确定它是否正确:
另外,类似的可以使用 boost::asio? 例子?)
php - 带有 libevent 的多进程 php
我可以使用 libevent 制作一个简单的 php websocket 服务器,但是当我尝试使其成为多处理时我被卡住了。
例如这是单一处理
但是当我在函数 ev_read 中这样做时
它不发送数据...
那么如何制作一个多处理 php 套接字服务器呢?
c++ - 如果我想要事件驱动服务器,该使用什么 libevent 或 libev?
我想使用事件驱动库之一制作基本的聊天服务器。但是选择什么?libevent 或 libev 哪个更好?哪个有更好的 c++ 支持?哪个符文在 Windows 中更好?什么更快?更快地开发和理解
c++ - 如何将 libusb 与 libevent 一起使用?
我正在使用 libevent 编写一个事件驱动的应用程序,我需要使用 libusb-1.0 进行 USB 传输。
我想使用libusb_get_pollfds来获取文件描述符列表(在 中fds
)并将它们添加到 libevent 中,如下所示:
另外,我使用libusb_set_pollfd_notifiers从libusb_fds_events
.
问题是我在 libusb 返回的列表上得到了许多奇怪的 fds(例如,我得到stdin
(!)很多次,事件等于 0)。
我是否以正确的方式使用它?
c - 用 C 编写异步事件服务器的推荐模式
我正在用 C 语言编写我的第一个单线程、单进程服务器,使用 kqueue() / epoll() 来处理异步事件分派。正如人们所预料的那样,跟踪控制流比在阻塞服务器中要困难得多。
是否有一种常见的模式(甚至可能有一个名字)人们用来避免回调驱动的协议实现变成一个巨大的纠结的毛球?
或者,是否有任何用 C 语言编写的非阻塞服务器,其源代码很容易阅读?
任何输入将不胜感激!
更多想法:
很多麻烦似乎来自处理 IO 缓冲的需要。缓冲区填充/排出和单个状态转换之间没有必要的对应关系。缓冲区填充/排水可能对应于 [0, N] 状态转换。)
我看过 libev(此处的文档),它看起来是一个很棒的工具,还有 libevent,它看起来不那么令人兴奋但仍然有用,但它们都没有真正回答这个问题:我如何以一种方式管理控制流不是非常不透明。
c++ - C++ libevent 使用(内存泄漏和删除操作符)
我有两个文件:
和
当我编译(g++ event_test_delete.cpp -levent -o event_test_delete.o
) event_test_delete.cpp 时,我得到一个错误:
但是当我编译g++ event_test_free.cpp -levent -o event_test_free.o
event_test_free.cpp 我没有得到同样的错误,为什么?
第二个问题是(使用 valgrind)为什么会出现内存泄漏?
第一个文件的 Valgrind 输出:(为什么这里是一个Mismatched free() / delete / delete []
?)
对于第二个文件