我已经创建了一个套接字,将其设置为非阻塞状态,通过getaddrinfo获取了一个addr,进行了连接,然后使用EPOLLIN将其添加到EPOLL中。 EPOLLOUT标志。
在我的下一个epoll_wait迭代中,它立即作为EPOLLOUT触发,但是当我尝试写入\发送数据时,出现EINPROGRESS(115)错误。
任何想法都会有用。谢谢
编辑0:
我正在使用LT epoll
编辑1:
问题无效。我以为连接完成后,它会像侦听器套接字一样触发EPOLLIN,但会触发EPOLLOUT。
谢谢你的回答
最佳答案
因为套接字被设置为非阻塞,所以您正在获得EINPROGRESS(这不是错误)...因此,它根本没有阻塞。您确定要将其设置为“非阻止状态”吗?
使用epoll之类的东西的目的是通过告知何时可以安全使用套接字来避免整个阻塞问题。