linux下使用非阻塞的socket编程使用recv接收数据
如图,发送请求过来后会遇到recv返回-1,errno是EAGAIN,重新循环读数据,必须要等超长时间(大概十分钟),recv才会返回0,完成读取,否则就一直陷入循环。怎么办。
望采纳。。
recv 等于-1 的时候,一般是连接断开。
如果没有断开,你可以尝试调用一下 close(m_sockfd),然后重新去创建初始化一个 m_sockfd,再去调用 recv 去等待接收。