epoll()可以对许多fd类型进行轮询,例如普通的fd,套接字,timefd,eventfd等......
BOOST也能以某种方式做到吗? 我在io_service看到它只支持:
io_service类为用户提供核心I / O功能 异步I / O对象,包括:
升压:: ASIO :: IP :: TCP ::插座
提高:: ASIO :: IP :: TCP ::受体
提高:: ASIO ::知识产权:: UDP ::插座
deadline_timer。
还有其他办法吗?
答案 0 :(得分:2)
文档描述了io_service
类可以做的一些但不是全部的事情。请注意,它表示"包括",而不是"仅"。此外,文档中的下一句是:
The io_service class also includes facilities intended for developers of custom asynchronous services.
如果您正在阅读或写入您直接创建的文件描述符,则可以使用boost::asio::posix::stream_descriptor
。您可以使用serial_port
类。您可以对文件进行操作。我想你能够映射你的行动;如果你仍然有问题提出更具体的问题。