我对event时间循环不怎么懂,有以下几个问题想请教
1、像ev_read和ev_write事件是不是每次add的时候就会执行回调?
self::$globalEvent->add($this->_mainSocket, EventInterface::EV_READ,array($this, 'acceptConnection'));
Worker::$globalEvent->add($this->_socket, EventInterface::EV_WRITE, array($this, 'baseWrite'));
2、为什么在worker的run方法和listen方法里都添加了EV_READ事件
如果缓冲区写满的话 EV_WRITE在add时还会被触发么
不一定。有socket可读或者可写才执行
workerman允许在运行过程中http://doc3.workerman.net/worker-development/listen.html,这时候不能调用run方法,但需要调用listen方法,所以listen方法里面要有EV_READ事件事件的添加。
缓冲区写满的话 EV_WRITE不会被触发
感谢
不客气