我一直在构建一个多线程服务器,每个线程都有一个 epoll fd 来管理传入的 tcp 连接。对于线程间通信,我使用了 unix 域套接字,目的是利用现有的每线程 epoll。
但似乎,如果还添加了 unix 域套接字,Epoll 将停止返回网络套接字事件。
我的问题是可以使用一个 Epoll 实例来跟踪 tcp 套接字和 unix 域套接字上的事件吗?这是预期的行为吗?我没有遇到任何文献表明这一点。还是我需要一个单独的 Epoll 实例来跟踪这两种不同类型的套接字?
epoll、poll 和 select 被设计用来监控多个文件描述符。它不限制在任何时候只监视一个文件/套接字描述符实例。
是否可以使用一个 Epoll 实例来跟踪 tcp 套接字和 unix 域套接字上的事件?是的,使用 epoll 没有具体限制。
看看示例 epoll 程序,你能推荐一些关于 Linux 上 Epoll 的指南吗