select 描述符就绪条件

转载 2012年03月22日 14:02:30

UNIX网络编程第三得到 第6章

准备好读:

1,套接字接收缓冲区的数据字节数大于等于,套接字接收缓冲区低水位线,可以用SO_RCVLOWAT套接选项来设置低水位线,对于TCP和UDP套按字,默认值为1

2,该连接的读半部分关闭(接收到了FIN的TCP连接).对这样的套接字读操作,返回0(EOF)

3,该套接字是一个监听套接字且已经完成的连接数不为0.对这样的套按字的accept通常不会阻塞

4,其上有一个套接字错误街处理.对这样的套按字的读操作将不阻塞并返回-1(错误),同时把errno设置成错误条件,这些待处理错误也可以通过指定SO_ERROR套接字选项调用getsockopt获取.


准备好写:

1,该套接字发送缓冲区的可用字节数大于等于套接字发送缓冲区低水位线的当前大小.并且或者该套接已经连接,或者套按字不需要连接(UDP),如果我们把这套接字设置成非阻塞,写操作将不阻塞并返回一个正值.可以使用SO_SNDLOWAT设置一个该套接字的低水位标记.对于TCP和UDP默认值通常为2048.

2,该连接的写半部关闭.对这样的套接写的写操作将产生SIGPIPE信号.

3使用非阻塞式的connect的套按字已经建立连接,或者connect已经失败.

4,其上有一个套接字错误等处理,对这样的套接字进行写操作会返回-,且,把ERROR设置成错误条件,可以通过指定SO_ERROR套按选项调用getsockopt获取并清除.


当某个套接字上发生错误时,它将由select标记为既可读又可写.


select系统调用 -- 文件描述符就绪条件

select系统调用原型如下:#include int select(int nfds, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, ...
  • y396397735
  • y396397735
  • 2016年04月04日 22:21
  • 934

select 和 poll基本用法

select函数和poll函数
  • Chuxin126
  • Chuxin126
  • 2017年08月21日 19:01
  • 150

Libev源码分析09:select突破处理描述符个数的限制

众所周知,Linux下的多路复用函数select采用描述符集表示处理的描述符。描述符集的大小就是它所能处理的最大描述符限制。通常情况下该值为1024,等同于每个进程所能打开的描述符个数。       ...
  • gqtcgq
  • gqtcgq
  • 2015年08月27日 22:24
  • 784

Linux - Select()系统调用及文件描述符集fd_set的应用

select()机制中提供一fd_set的数据结构,实际上是一long类型的数组,每一个数组元素都能与一打开的文件句柄(不管是socket句柄,还是其他文件或命名管道或设备句柄)建立联系,建立联系的工...
  • jiangxinyu
  • jiangxinyu
  • 2012年05月24日 16:13
  • 2871

Select函数文件描述符集的准备条件

网络编程中,我们经常讨论等待某个描述符准备好I/O(读/写)或者等待其上发生一个待处理的异常条件。尽管可读性和可写性对于普通文件这样的描述符显而易见,然而对于引起诸如select返回套接字“就绪”的条...
  • u012823258
  • u012823258
  • 2014年11月05日 11:55
  • 1023

select 带条件查询

嘿嘿,数据库这几天感觉学的还是挺简单的,今日小总结 select 带条件的查询  例子如下: -- 查询 MyStudents 数学成绩没有及格的学生 select FName as 姓名,F...
  • linlin2294592017
  • linlin2294592017
  • 2012年10月25日 17:05
  • 7185

使用select编写服务器

io多路复用是通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般都是读就绪或者写就绪),就能通知应用程序进行相应的读写操作。select函数作为io多路复用的机制,第一个参数nfds是fd_s...
  • holyshit666
  • holyshit666
  • 2016年09月24日 23:41
  • 332

select函数的第一个参数为什么是最大描述符加1呢

ChinaUnix.net 标题: 一直不明白,select函数的第一个参数为什么是最大描述符加1呢? [打印本页] 作者: iw1210    时间: 2013-01-23 18:51   ...
  • pastebin
  • pastebin
  • 2014年05月07日 22:11
  • 2147

VBA第5课 select多条件判断

Sub select多条件判断() Select Case Sheet1.[b1].Value Case Is > 0 MsgBox "大于0" Case Else MsgBox "小于或等于0" E...
  • u013511642
  • u013511642
  • 2015年05月01日 11:40
  • 2354

SELECT语句的过滤条件

1、WHERE SELECT prod_name,prod_price FROM Products WHERE prod_price=3.19; ORDER BY prod_price; WHERE ...
  • nawuyao
  • nawuyao
  • 2015年12月21日 18:51
  • 348
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:select 描述符就绪条件
举报原因:
原因补充:

(最多只允许输入30个字)