关于 socke t设置为非阻塞(non-blocking)状态

来源:互联网 发布:nginx 根路径 编辑:程序博客网 时间:2024/05/17 22:57

u_long has = 1;
ioctl(m_sock, FIONBIO , &has);
这个函数会非常无耻的返回你success,但是它实际上很可能什么也没做。

正确的做法应该是使用fcntl:
int flags = fcntl(m_sock, F_GETFL, 0);
fcntl(m_sock, F_SETFL, flags|O_NONBLOCK);

原创粉丝点击