关于 socke t设置为非阻塞(non-blocking)状态
2009-08-31 10:18
197 查看
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);
ioctl(m_sock, FIONBIO , &has);
这个函数会非常无耻的返回你success,但是它实际上很可能什么也没做。
正确的做法应该是使用fcntl:
int flags = fcntl(m_sock, F_GETFL, 0);
fcntl(m_sock, F_SETFL, flags|O_NONBLOCK);
相关文章推荐
- [linux] 将socket设置为非阻塞(non-blocking)
- [linux] 将socket设置为非阻塞(non-blocking)
- [linux] 将socket设置为非阻塞(non-blocking)
- 将socket设置为非阻塞(non-blocking) - 艾子的日志 - 网易博客
- 将socket设置为非阻塞(non-blocking)(
- [linux] 将socket设置为非阻塞(non-blocking)
- 将套接字设置为非阻塞状态
- Android系统修改 设置->关于平板电脑(手机)->状态信息中显示的SN序列号
- 关于文本框的不可编辑状态的设置
- 关于iOS7里导航控制器中的子控制器设置StatusBar状态失效的问题
- agsXMPP客户端关于好友在线状态的设置及其响应的方法
- 阻塞(Blocking),非阻塞(Non-Blocking),同步(Sync),异步(Async),重叠(Overlapped)
- 非阻塞套接字(Nonblocking Sockets) 概述
- agsXMPP客户端关于好友在线状态的设置及其响应的方法
- 非阻塞套接字(Nonblocking Sockets) 概述
- 关于iOS7里导航控制器中的子控制器设置StatusBar状态失效的问题
- VB中关于statusbar状态条随FORM变化的问题,以及如何设置toolbar
- 关于ViewPager设置属性页setCurrentItem会阻塞主线程ANR总结
- nodejs中的阻塞和非阻塞(https://nodejs.org/en/docs/guides/blocking-vs-non-blocking/)
- 关于非阻塞connect和select设置