unix/linux socket设置非阻塞
来源:互联网 发布:守望先锋优化补丁下载 编辑:程序博客网 时间:2024/05/16 14:05
UNIIX/linux下SOCKET主要是同步的,但有阻塞和非阻塞两种方式。
阻塞方式定义与前面定义相同,要解决阻塞有两种方法:
一种是设置SOCKET属性,设置为非阻塞(fcntl()函数),
sockfd = socket(AF_INET, SOCK_STREAM, 0);
fcntl(sockfd, F_SETFL, O_NONBLOCK);
通过设置套接字为非阻塞,你能够有效地"询问"套接字以获得信息。如果尝试着从一个非阻塞的套接字读信息并且没有任何数据,它不允许阻 塞,它将返回 -1 并将 errno 设置为 EWOULDBLOCK。
二种是通过select的方式
阻塞方式定义与前面定义相同,要解决阻塞有两种方法:
一种是设置SOCKET属性,设置为非阻塞(fcntl()函数),
sockfd = socket(AF_INET, SOCK_STREAM, 0);
fcntl(sockfd, F_SETFL, O_NONBLOCK);
通过设置套接字为非阻塞,你能够有效地"询问"套接字以获得信息。如果尝试着从一个非阻塞的套接字读信息并且没有任何数据,它不允许阻 塞,它将返回 -1 并将 errno 设置为 EWOULDBLOCK。
二种是通过select的方式
0 0
- unix/linux socket设置非阻塞io
- unix/linux socket设置非阻塞
- 如何设置linux socket为非阻塞
- 阻塞非阻塞socket设置
- socket 设置非阻塞
- socket 设置非阻塞
- linux socket的阻塞和非阻塞设置方法
- Linux socket非阻塞
- socket中的非阻塞设置
- 非阻塞socket设置方法
- 设置socket为非阻塞
- socket阻塞 和 非阻塞设置
- socket 阻塞 和 非阻塞设置
- [linux] 将socket设置为非阻塞(non-blocking)
- 设置linux的socket的非阻塞模式
- [linux] 将socket设置为非阻塞(non-blocking)
- socket设置为非阻塞方式(windows和linux)
- 设置linux的socket的非阻塞模式
- 这是爱因斯坦在20世纪初提的谜题
- Oracle完整约束
- mini2440裸机试炼之—RTC闹钟中断,节拍中断
- 转载一些wince常见错误及解决办法
- PHP:计算小数点后位数
- unix/linux socket设置非阻塞
- 手机卫士知识点二----主界面 gridview.
- 刚刚进入学习delphi
- select()函数、poll()函数
- UIScrollView滚动视图(常用属性以及方法)
- EBS OAF开发中实体对象和视图对象的属性设置器
- learn with python-第十五章:继承
- 解决SSH登录慢的方法
- 在cygwin下完整工作环境的搭建(备忘)