首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux select函数详解

    当有一个描述符做好准备或者是捕获到一个信号时函数会返回。如果捕获到一个信号, select函数将返回 -1,并将变量 erro设为 EINTR。    ...就会返回一个大于0的值,表示有文件可读;如果没有可读的文件,则根据timeout参数再判断是否超时,若超出timeout的时间,select返回0,若发生错误返回负值。...就会返回一个大于0的值,表示有文件可写,如果没有可写的文件,则根据timeout参数再判断是否超时,若超出timeout的时间,select返回0,若发生错误返回负值。...(4)fd_set*errorfds同上面两个参数的意图,用来监视文件错误异常文件。...(2)当没有满足条件的文件描述符,且设置的timeval监控时间超时时,select函数会返回一个为0的值。 (3)当select返回负值时,发生错误。

    5.7K20

    【Linux网络】select函数

    select函数介绍 在Linux网络编程中,select 函数是一种非常有用的IO多路复用技术,它允许程序监视多个文件描述符(file descriptors),以等待一个或多个文件描述符变得“就绪”...*readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); select()函数允许程序监视多个文件描述符...所谓的”准备好“状态是指:文件描述符不再是阻塞状态,可以用于某类IO操作了,包括可读,可写,发生异常三种 select函数参数介绍 nfds select函数一次会等待多个文件描述符,nfds通常为设置的最大文件描述符...函数返回值 成功时,select返回就绪的文件描述符的总数....出错时,返回-1,并设置errno以指示错误. select的工作流程 应用进程和内核都需要从readfds和writefds获取信息,其中,内核需要从readfds和writefds知道哪些文件描述符需要等待

    88410

    IO复用——select函数

    I/O复用——select函数 select函数 select函数让进程告诉内核,等待数个事件,某个事件发生或者达到指定时间时,唤醒进程。...select函数实际上就变成了一个比函数sleep函数更精确的定时器(sleep精确到秒)。...有一个套接口错误待处理。套接口的读操作将不阻塞并且返回一个错误(-1)。...是 关闭连接的写一半 是 待处理错误 是 是 TCP带外数据 是 在客户端程序中使用select 修改客户端的函数str_cli,使用select,这样服务器进程一终止,客户就能马上得到通知...[函数str_cli中由select处理的条件] 修改函数str_cli [str_cli函数select版本与初始版本对比] 使用函数select 在新版的str_cli函数中,使用select函数,

    1.3K51
    领券