我想将libev用于我正在编写的流媒体服务器。
这就是一切应该如何运作:
我找到了示例代码,允许我使用libev I / O事件(引擎盖下的epoll)从套接字读取和写入。但是,我不知道如何处理来自NAS和处理的读取。 这可能需要一些时间。而且我不希望在发生这种情况时阻止服务器。
这应该在另一个线程中完成,并让线程发送 图像数据回到客户端?
我打算使用线程池。但是,也许libev可以支持处理步骤而不会阻塞?
非常感谢任何想法或帮助!
答案 0 :(得分:1)
您需要一个支持异步读取的文件I / O库(例如Boost :: ASIO)。基础API包括aio_read
,aio_suspend
,lio_listio
。