我正在使用epoll
來獲取有關傳入數據的通知。這並不難,因爲所有由epoll_wait()
返回的事件表明,我可以從epoll_event.data.fd
(套接字描述符)讀取數據。如何區分同一套接字上的讀寫事件?
但現在我要得到這兩種類型的通知:接收和發送(套接字可用於發送)。但我不能這樣做,因爲:
epoll_event.events
這是由epoll_wait()
返回是一樣的我通過在epoll_ctl()
。所以在我的情況下它包含EPOLLIN
和EPOLLOUT
。- 另外,如果我想在
epoll
兩次加一個插座(如EPOLLIN和EPOLLOUT事件),我會得到一個EEXIST
。
如何在每次收到通知時手動調用select()
來解決此問題?
(EPOLLIN | EPOLLOUT) – wildplasser