水平触发,只要可读或可写,事件会一直触发(默认模式)
边缘触发,只有从不可读变为可读、从不可写变成可写,事件才会触发
基于此,水平触发,socket不需要设置为non-block,因为只要触发,就可以读或写。
而对于边缘触发,事件一旦触发,需要用户一直读,直到缓冲区数据全部读完为止才可以,如果设置为block,在没有数据可读时,就block了,需要用eagain错误来告知用户,数据读完了,不用再读了。
边缘触发,只有从不可读变为可读、从不可写变成可写,事件才会触发
基于此,水平触发,socket不需要设置为non-block,因为只要触发,就可以读或写。
而对于边缘触发,事件一旦触发,需要用户一直读,直到缓冲区数据全部读完为止才可以,如果设置为block,在没有数据可读时,就block了,需要用eagain错误来告知用户,数据读完了,不用再读了。