我一直在构建一个多线程服务器,每个线程都有一个epoll fd来管理传入的tcp连接。 对于线程间通信,我使用了unix域套接字,目的是利用现有的每线程epoll。
但似乎如果添加了unix域套接字,Epoll会停止返回网络套接字事件。
我的问题是,是否可以使用一个Epoll实例来跟踪tcp套接字和unix域套接字上的事件?这是预期的行为吗?我没有看到任何文献暗示。或者我是否需要一个单独的Epoll实例来跟踪这两种不同类型的套接字?
答案 0 :(得分:1)
epoll,poll和select旨在监控多个文件描述符。它不限制任何时候只监视文件/套接字描述符的一个实例。
是否可以使用一个Epoll实例来跟踪tcp套接字和unix域套接字上的事件? 是的,使用epoll没有具体限制。
查看epoll程序示例