在ET模式中,对于读写请求,阻塞和非阻塞都可以解决问题。但是,对于accept之类的连接请求就不行了。
根本原因我认为是连接是涉及网络双方的交互,比如三次的握手。这样即使epoll已经等待连接事件,但是不能保证能
接收到新连接。而recv等数据已经到本机的内核缓冲区了,剩下的都是本机数据的读取操作,是必然可以解决的。
终上所述,影响网络双方的操作都该注意是否使用非阻塞模式,在设置相应的套接字选项的时候尤其应该注意这个问题。
在ET模式中,对于读写请求,阻塞和非阻塞都可以解决问题。但是,对于accept之类的连接请求就不行了。
根本原因我认为是连接是涉及网络双方的交互,比如三次的握手。这样即使epoll已经等待连接事件,但是不能保证能
接收到新连接。而recv等数据已经到本机的内核缓冲区了,剩下的都是本机数据的读取操作,是必然可以解决的。
终上所述,影响网络双方的操作都该注意是否使用非阻塞模式,在设置相应的套接字选项的时候尤其应该注意这个问题。