我正在使用 epoll y pthreads 在 C++ 中为 linux 编写一个应用程序(客户端/服务器),但我不知道如何处理 connect()
调用以在描述符列表如果一个带有 epoll_wait()
的循环正在运行(边缘触发),我该怎么做?...我可以使用一个虚拟文件描述符来触发事件和等待范围?,或者对 connect()
的简单调用可以触发事件??...
抱歉我的英语不好...
最佳答案
是的,您可以使用另一个文件描述符来唤醒您的 epoll_wait()
循环。使用 pipe()
创建文件描述符。将管道的读取端添加到您的 epoll
列表中,并在您想要唤醒它时向写入端写入一个字节。读取方可以只读取该字节并将其丢弃。
关于linux - 使用 epoll 的客户端连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2805500/