问题标签 [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.
erlang - 彗星的最佳方法?(非阻塞 IO vs Erlang)
也许这个问题不是那么容易回答......但你的意见是什么?我应该使用非阻塞方法(例如 libevent)还是使用 erlang 轻量级进程来:
- 在给定数量的 RAM 上实现尽可能多的连接
- 在给定的 CPU 数量下实现尽可能多的吞吐量
背景是,我计划编写一个 pub/sub-Server,但我无法决定应该使用哪种方法。
qt - 为 libevent 应用程序创建基于 Qt 的 gui
我目前大量使用 libevent 进行 C/C++ 网络编程,我喜欢我可以轻松地制作基于事件的应用程序,而不必担心是否需要使用 select、poll、epoll、kqueues 等。我制作的应用程序是文本-only,现在我正在寻找 Qt/QML 为我现有的网络应用程序制作 GUI。
我只是不知道如何将它们集成到一个应用程序中,因为 libevent 和 qt 都想运行它们自己的事件循环。我是否需要查看在自己的线程中运行每个线程(一个线程中的 gui 和另一个线程中的 libevent-backend),还是我错过了一些非常简单的东西?:-)
谢谢,尼娜
linux - 处理从套接字读取的数据的最有效方法是什么?
我想将 libev 用于我正在编写的流媒体服务器。
这就是一切应该如何工作的方式:
- 客户端打开到服务器的 TCP 套接字连接
- 服务器接收连接
- 客户发送他们想要的图像列表
- 服务器读取请求
- 服务器循环遍历所有图像
- 服务器从 NAS 读取图像
- 服务器处理图像文件元数据
- 服务器向客户端发送图像数据
我找到了允许我使用 libev I/O 事件(引擎盖下的 epoll)从套接字读取和写入的示例代码。但是,我不确定如何处理来自 NAS 的读取和处理。这可能需要一些时间。而且我不想在发生这种情况时阻止服务器。
这是否应该在另一个线程中完成,并让线程将图像数据发送回客户端?
我打算使用线程池。但是,也许 libev 可以支持一个处理步骤而不阻塞?
任何想法或帮助将不胜感激!
epoll - libevent和epoll,哪个效率更高?
我认为这是两个最好的事件处理库。
这两个都有很多用户,但哪个更好?
c - Problem with paired bufferevents with libevent2
I have this multithreaded app with a loop for each thread and two paired bufferevents per thread to send/receive data between those and the main thread.
This in theory. In practice, bufferevent_pair_new() returns fine, but two bufferevent structures without usable descriptors are created, so when I call bufferevent_getfd() with them, I get -1 for both.
Of course, when I try to attach them to a event loop without any other event added previously, thread returns and a "loop without events" error is raised.
I saw something similar in Tor (paired bufferevents to communicate between threads). Am I doing it right? Do I need something else?
c - libevent 和非阻塞套接字
我知道为了使用 libevent 监视套接字, event_set()
应该首先使用正确的参数调用。
libevent 文档指出event
event_set() 的参数可以是 EV_READ 或 EV_WRITE。并且这个事件参数是要注意的事件。
但是 EV_READ 和 EV_WRITE 对应的是什么套接字事件呢?我的意思是我将如何监控连接状态的变化,而不是监控传入的消息?
c - 谁能向我解释bufferevent(在libevent中)如何用于非阻塞套接字?
libevent 2.0 的文档不容易理解。谁能指点我一个教程?
tcp - 使用 libevent 广播 TCP-Server
我正在寻找一个简单的基于 libevent 的 TCP-Server 的示例代码,它将传入的消息广播到所有连接的客户端。在网络上,我只找到了回显消息的 TCP 服务器。
如果找到一个回声示例,请在此页面底部http://www.wangafu.net/~nickm/libevent-book/Ref8_listener.html
我确信更改本网站上提供的代码并不难,以便将消息广播到所有连接的客户端,但我不知道如何。
有人可以建议我吗?
编辑:是的,某种聊天服务器。它接缝我需要这样做:
但我不能让它发挥作用。
c - 限制 libevent 中的连接
我想控制每个进程可能的 libevent-http 连接的限制。
我怎样才能做到这一点 ?
我在文档中没有找到任何信息,请帮助!
我认为如果我不限制连接数 - 系统可能会崩溃。项目负载非常高。
network-programming - libevent示例代码的一个问题:如何调用?
我正在学习libev,但是代码太难理解了,所以我选择先学习libevent,它的代码比较清晰。但是我在尝试这个例子时遇到了一个问题(http://www.wangafu.net/~nickm/libevent-book/01_intro.html)。
do_read() 中的代码 event_add(state->write_event, NULL) 如何调用 do_write() 函数?