使用select为描述符设置超时

Posted soldierback

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用select为描述符设置超时相关的知识,希望对你有一定的参考价值。

int readable_timeo(int fd, int sec)
{
    fd_set            rset;
    struct timeval    tv;

    FD_ZERO(&rset);
    FD_SET(fd, &rset);

    tv.tv_sec = sec;
    tv.tv_usec = 0;

    return (select(fd+1, &rset, NULL, NULL, &tv));
}
int writeable_timeo(int fd, int sec)
{
    fd_set            wset;
    struct timeval    tv;

    FD_ZERO(&rset);
    FD_SET(fd, &rset);

    tv.tv_sec = sec;
    tv.tv_usec = 0;

    return (select(fd+1, NULL, &wset, NULL, &tv));
}

 

以上是关于使用select为描述符设置超时的主要内容,如果未能解决你的问题,请参考以下文章

将超时设置为 recv 函数

socket编程的select()中重启定时器

Linux 下select 网络模型

为什么select()在它之前停止输出?

根据图片的url地址下载图片到本地保存代码片段

使用 OpenSSL BIO 的非阻塞 I/O