当前位置: 技术问答>linux和unix
(socket通信)poll提示有数据可读 recv却返回 EAGAIN
来源: 互联网 发布时间:2017-01-02
本文导语: 如题,poll已经返回可读事件,为什么recv却返回EAGAIN呢?数据还没来?没来的话poll为什么又有可读事件返回呢?求解! | 读数据是循环读还是读一次? 既然返回EAGAIN,那么套接字是非阻塞的...
如题,poll已经返回可读事件,为什么recv却返回EAGAIN呢?数据还没来?没来的话poll为什么又有可读事件返回呢?求解!
|
读数据是循环读还是读一次?
既然返回EAGAIN,那么套接字是非阻塞的?
既然返回EAGAIN,那么套接字是非阻塞的?
|
你是while(recv) ?
那读到EAGAIN是必然的啊.
那读到EAGAIN是必然的啊.
|
如果一个socket正在非阻塞的connect,并且服务端与客户端在同一台电脑,那么epoll总是返回可读可写,实际上并没有连接上服务端(因为服务端未开启),这个问题我调试了好久,始终未解决。