9得票1回答
当不在epoll_waiting时,是否仍然监视epoll事件?

我对基于事件的编程还不是很熟悉。我正在尝试使用epoll的边缘触发模式,它似乎只会通知已准备好进行读/写操作的文件(与水平触发模式相反,后者会通知所有已准备好的文件,无论它们是否已经准备好或者刚刚准备好)。 对我来说不清楚的是:在边缘触发模式下,当我没有执行epoll_wait时,是否会通知...

8得票3回答
TUX Web服务器为何已死?是否被Nginx/Lighttpd/Epoll/Kqueue所代替?

我还记得Linux上一个叫"TUX"的非常快速的内核模块,用于静态文件服务以解决"C10K问题"并提高IIS相对于Linux的静态文件服务性能。现在我经常看到以下几个: Nginx Lighttpd CDN 它们都可以用于“快速静态文件服务”。如果你的操作系统具有正确的特性,那么快速地服务...

24得票2回答
Java中是否有类似epoll的功能?

在Java中是否有类似Linux epoll的等价物? epoll允许线程对多种异构事件做出反应。例如,我可以创建一个线程来同时处理套接字事件或来自控制台的输入。在C++中,我可以通过将stdio和socket注册到epoll中来实现这一点。我的线程会受到任何一个事件的触发。 Java中是...

7得票3回答
使用epoll_wait和signalfd处理信号

我正在使用套接字和系统调用编写自己的“回声服务器”。我使用“epoll”来处理同时与多个不同客户端交互的情况,并且所有与客户端的操作都是非阻塞的。当服务器开启并且没有进行任何操作时,它会处于“epoll_wait”状态。现在,我想添加使用信号关闭服务器的可能性。例如,我在“bash终端”中启动...

7得票3回答
使用 epoll 和线程的套接字服务器

我正在尝试使用C语言为实时协作编辑器http://en.wikipedia.org/wiki/Collaborative_real-time_editor创建一个socket服务器,但我不知道哪种服务器架构最好。 一开始,我尝试使用select用于socket服务器,但后来我了解了epoll...

8得票1回答
在boost::asio中,是否可以更改套接字的io_context?

我目前正在编写一个多线程服务器,每个线程都有一个io_context和要执行的任务对象列表,每个任务对象都有一个关联的ip::tcp::socket对象。 为了负载均衡,我有时会将任务从一个线程迁移到另一个线程,但我希望在不断开连接的情况下也能迁移它们的套接字。 我可以简单地在线程之间传递...

7得票1回答
如何使用 epoll 的 data->ptr,而不是 data.fd?

我正在使用 epoll 和大量的 fd 编写应用程序。为了改善 fd 到应用相关数据库的搜索,我想传递给 epoll 应用程序信息,例如在 DB 数组中的索引。我考虑使用 data->ptr(epoll_data_t -> *ptr),据我所知,我可以给一个指针,它保存有来自应用程序层的 fd...

79得票1回答
epoll、poll和threadpool有什么区别?

有人能解释一下 epoll、poll 和线程池之间的区别吗? 它们各自的优缺点是什么? 有哪些框架可以推荐? 有哪些简单/基础的教程可以推荐? 似乎 epoll 和 poll 是专属于 Linux 的... 有没有 Windows 系统的替代方案?

19得票1回答
TCP:EPOLLHUP 何时生成?

此外,还可以参考这个问题,目前还没有得到答案。 EPOLLHUP的含义存在很多混淆,即使在man和内核文档中也是如此。人们似乎认为当对本地关闭写入的描述符(即shutdown(SHUT_WR))进行轮询时,即与对等端引起EPOLLRDHUP的相同调用时,会返回它。但是这是不正确的,在我的实验...

8得票1回答
epoll是否保留文件描述符注册的顺序?

我正在研究Linux系统调用,发现了一些epoll方面的问题让我感到困惑。比如,我创建了一个epoll实例: epollfd = epoll_create(50); 下一步,我在for循环中注册了50个文件描述符: for(i=0; i<50; i++){ // open...