select
特點
在一段規定的時間內,監聽用戶感興趣的文件描述符上的可讀可寫和異常事件。
系統調用API
#include<sys/select.h>
int select (int nfds, //被監聽的文件描述符的總數 所有文件描述符+1 因爲從0開始計算
fd_set* readfds, //指向可讀文件描述符集合
fd_set* writefds, //指向可寫文件描述符集合
fd_set* exceptfds, //指向異常文件描述符集合
struct timeval* timeout, //設置超時時間
)
實例
#include<stdio.h>
#include<errno.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<netinet/in.h>
#include<pthread.h>
#include<apra/inet.h>
#include<sys/time.h>