我了解想要使用libevent监控套接字,需要首先调用event_set()
并传入正确的参数。
libevent文档指出event
参数可以是EV_READ或EV_WRITE。而且此事件参数是要被监视的事件。
但是EV_READ和EV_WRITE对应哪些套接字事件呢?也就是说,如何监测连接状态的变化和传入消息的变化呢?
我了解想要使用libevent监控套接字,需要首先调用event_set()
并传入正确的参数。
libevent文档指出event
参数可以是EV_READ或EV_WRITE。而且此事件参数是要被监视的事件。
但是EV_READ和EV_WRITE对应哪些套接字事件呢?也就是说,如何监测连接状态的变化和传入消息的变化呢?
EV_READ :此标志表示当提供的文件描述符准备好读取时,事件变为活动状态。
EV_WRITE :此标志表示当提供的文件描述符准备好写入时,事件变为活动状态。
EV_SIGNAL :用于实现信号检测。
EV_PERSIST :表示事件是持久性的。
EV_ET :表示如果底层的event_base后端支持边缘触发事件,则应将事件设置为边缘触发。这会影响EV_READ和EV_WRITE的语义。
cb
参数设置读取/写入回调来实际执行数据读取和写入。