在阻塞连接后将套接字设置为非阻塞

mad*_*adz 5 c sockets linux nonblocking

connect()进行阻塞操作是否安全,然后使套接字变为非阻塞状态,并执行所有非阻塞的操作,例如epoll()/ select()

是否会导致缺少一些我可能没有考虑的非阻塞操作?

ran*_*ame 3

只要您确保检查返回值是否有fnctl错误,它就是完全安全的。如果没有,那么您可能会发现您的程序意外停止。