青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

利用select函數(shù)可以完成非阻塞通信,它可以在用戶指定的時間內(nèi)監(jiān)聽一些句柄(文件描述符?)(一個句柄就是你給一個文件,設(shè)備,套接字(socket)或管道的一個名字, 以便幫助你記住你正處理的名字, 并隱藏某些緩存等的復(fù)雜性。),當(dāng)readfds或writefds中映象的文件可讀或可寫或超時,本次select()就結(jié)束返回。程序員利用一組系統(tǒng)提供的宏在select()結(jié)束時便可判斷哪一文件可讀或可寫。

函數(shù)原型:

int select(int nfds, fd_set *readfds, fd_set *writefds,

fd_set *exceptfds, struct timeval *timeout);

ndfs:select監(jiān)視的文件句柄數(shù),視進(jìn)程中打開的文件數(shù)而定,一般設(shè)為你要監(jiān)視各文件

中的最大文件號加一。

readfds:select監(jiān)視的可讀文件句柄集合。

writefds: select監(jiān)視的可寫文件句柄集合。

exceptfds:select監(jiān)視的異常文件句柄集合。

timeout:本次select()的超時結(jié)束時間。

函數(shù)返回值:

0表示超時

-1表示出錯

正數(shù)表示文件可讀或可寫


相關(guān)的宏:

FD_ZERO(fd_set *fdset):清空fdset與所有文件句柄的聯(lián)系。

FD_SET(int fd, fd_set *fdset):建立文件句柄fd與fdset的聯(lián)系。

FD_CLR(int fd, fd_set *fdset):清除文件句柄fd與fdset的聯(lián)系。

FD_ISSET(int fd, fd_set *fdset):檢查fdset聯(lián)系的文件句柄fd是否可讀寫,當(dāng)>0表示可讀寫。


select只能監(jiān)聽文件描述符(file descriptors),文件指針是不行的。通過int fileno(FILE* fp)函數(shù)可以完成文件指針到文件描述符的轉(zhuǎn)換。

#include<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#include
<sys/time.h>
#include
<sys/types.h>
#include
<unistd.h>

int main(){
    
int fno = fileno(stdin);
// 得到sdtin的文件描述符
    fd_set fdR;
    
struct timeval timeout = {.tv_sec = 10, .tv_usec = 0};
    FD_ZERO(
&fdR);
    FD_SET(fno, 
&fdR);
    
char str[64];
    
int goOn = 1;
    
while(goOn){
        printf(
"goOning\n");
        
switch(select(fno + 1&fdR, NULL, NULL, &timeout)){
            
case -1:
                printf(
"select fail\n");
                goOn 
= 0;
                
break;
            
case 0:
                printf(
"select end\n");
                goOn 
= 0;
                
break;
            
default:
                scanf(
"%s", str);
                printf(
"str=%s\n", str);

        }
    }
}

代碼片段1:在指定時間內(nèi)讀取stdin的數(shù)據(jù)。


代碼片段2:服務(wù)器在一定時間內(nèi)接收子節(jié)點(diǎn)發(fā)來的數(shù)據(jù)報。


 

int socketfd = socket(AF_INET, SOCK_DGRAM, 0);
    …
    …
    fd_set fdR;
    
struct timeval timeout = {tv_sec:10, tv_usec:0};// 等待接收一定時間之后結(jié)束
    int goOn = 1;
    FD_ZERO(
&fdR);
    FD_SET(sockfd, 
&fdR);
    
while(goOn){
    
switch(select(sockfd + 1&fdR, NULL, NULL, &timeout)){
        
case -1:
            printf(
"select fail\n");
            goOn 
= 0;
            
break;
        
case 0:
            printf(
"select timeout\n");
            goOn 
= 0;
            
break;
        
default:
// 正常情況,讀取信息
            if((numbytes = recvfrom(sockfd, &cdt, sizeof(cdt), 0
                    (
struct sockaddr *)&their_addr, &addr_len)) == -1){
                printf(
"recvfrom fail\n");
            }
    }

參閱:
http://www.tuicool.com/articles/Rfeaie
posted on 2014-03-26 16:25 小鼠標(biāo) 閱讀(4007) 評論(0)  編輯 收藏 引用 所屬分類: 本科畢設(shè)

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2014年3月>
2324252627281
2345678
9101112131415
16171819202122
23242526272829
303112345

常用鏈接

隨筆分類(111)

隨筆檔案(127)

friends

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲经典在线看| 欧美日韩国产成人在线| 日韩午夜精品视频| 欧美一区二区三区男人的天堂| 亚洲激情校园春色| 欧美一区二区在线免费观看| 中文欧美日韩| 欧美成人精品不卡视频在线观看| 久久国产精品久久国产精品| 欧美日韩国产系列| 亚洲国产美女| 最新中文字幕亚洲| 久久亚洲国产成人| 理论片一区二区在线| 国产精品一区二区久久久| 日韩午夜在线播放| 亚洲美女av网站| 美日韩精品视频免费看| 久热精品视频| 在线成人免费观看| 久久久亚洲欧洲日产国码αv| 欧美中文字幕精品| 国产欧美成人| 欧美一级视频一区二区| 欧美一区二区黄色| 国产伦一区二区三区色一情| 亚洲一区精品在线| 欧美一级精品大片| 国产午夜亚洲精品理论片色戒| 亚洲一线二线三线久久久| 午夜精品视频在线观看| 国产精品最新自拍| 久久精品国产2020观看福利| 久久综合九色九九| 樱桃国产成人精品视频| 美女91精品| 亚洲人体大胆视频| 亚洲一区亚洲| 国产日本欧美视频| 久久男人av资源网站| 欧美国产欧美亚州国产日韩mv天天看完整 | 欧美福利视频在线| 亚洲日本激情| 欧美日韩在线大尺度| 亚洲一区视频在线| 久久先锋资源| 亚洲精品在线一区二区| 欧美日韩一区二区三区免费看| 一区二区三区黄色| 久久成人精品视频| 亚洲国产一成人久久精品| 欧美黑人多人双交| 亚洲一区精品在线| 欧美阿v一级看视频| 日韩亚洲欧美一区二区三区| 国产精品萝li| 久久综合色天天久久综合图片| 亚洲国产精品久久久久婷婷884| 亚洲一区二区三区精品在线| 国产性色一区二区| 欧美高清日韩| 欧美在线免费看| 亚洲区一区二区三区| 午夜精品一区二区三区在线播放| 在线不卡欧美| 国产精品久久久亚洲一区 | 国产精品一区二区视频| 久久久噜噜噜久噜久久 | 一区二区三区自拍| 欧美日韩亚洲国产精品| 久久久91精品| 亚洲天堂免费观看| 欧美激情小视频| 久久精品成人一区二区三区蜜臀| 亚洲激情影视| 激情国产一区二区| 国产精品爱久久久久久久| 久久久在线视频| 亚洲欧美激情视频在线观看一区二区三区| 欧美成年网站| 久久精品成人欧美大片古装| 一区二区三区国产精品| 一区在线播放| 国产一区二区三区高清| 欧美日韩一区二区三区在线观看免 | 亚洲日本乱码在线观看| 久久综合伊人77777蜜臀| 亚洲自拍偷拍麻豆| 99精品欧美| 亚洲高清视频一区二区| 韩国三级在线一区| 国产乱码精品一区二区三区五月婷| 欧美理论电影网| 欧美阿v一级看视频| 久久香蕉国产线看观看av| 欧美一区二区三区视频在线| 亚洲女同同性videoxma| 亚洲一区二区三| 中国亚洲黄色| 一区二区三区色| 一区二区国产日产| 亚洲精品美女在线| 亚洲国产欧美国产综合一区| 欧美国产高清| 亚洲大胆女人| 欧美激情一区二区三区不卡| 欧美成人a视频| 欧美国产一区视频在线观看 | 久久久精品免费视频| 欧美一区2区视频在线观看| 亚洲欧美国产77777| 亚洲一级在线观看| 亚洲欧美国产另类| 欧美一区二区视频观看视频| 欧美中文在线免费| 久久久久在线观看| 鲁大师影院一区二区三区| 蜜桃精品一区二区三区| 欧美阿v一级看视频| 亚洲国产一二三| 日韩午夜精品视频| 亚洲一区二区三区激情| 午夜精品久久久久久久白皮肤| 欧美一区二区女人| 久久蜜臀精品av| 欧美精品自拍| 国产人成一区二区三区影院| 韩国免费一区| 亚洲精品资源| 西瓜成人精品人成网站| 久久久久九九九九| 欧美激情片在线观看| 一本色道久久综合亚洲精品按摩 | 欧美.www| 国产精品jvid在线观看蜜臀| 国产精品自在线| 亚洲高清免费在线| 亚洲一区中文| 久久综合免费视频影院| 亚洲国产日韩欧美在线图片| 一区二区三区 在线观看视频| 亚洲欧美日韩国产成人| 久久婷婷久久| 国产精品久久久久久久午夜片 | 国产欧亚日韩视频| 在线精品观看| 亚洲一区二区在线视频| 久久久精品日韩| 99国产一区| 久久久人成影片一区二区三区| 欧美日韩国产经典色站一区二区三区| 国产精品免费久久久久久| 亚洲国产日韩在线| 欧美亚洲一级| 亚洲精品久久| 久久中文精品| 国产日产欧产精品推荐色 | 91久久精品美女高潮| 亚洲欧美在线视频观看| 欧美激情一二三区| 亚洲欧美bt| 欧美日韩国产一区| 亚洲福利精品| 欧美一区二区三区视频在线观看 | 欧美在线亚洲| 欧美无乱码久久久免费午夜一区| 一区二区三区中文在线观看| 小黄鸭精品密入口导航| 亚洲品质自拍| 免费亚洲婷婷| 在线观看视频免费一区二区三区 | 亚洲精品国产精品久久清纯直播 | 久久久91精品国产| 中文av字幕一区| 亚洲一区免费视频| 最近看过的日韩成人| 久久精品免费电影| 国产欧美日韩视频一区二区| 中国成人黄色视屏| 亚洲高清视频的网址| 久久久999| 韩国美女久久| 久久久一区二区三区| 亚洲欧美日韩国产成人| 国产精品国产三级国产a| 一本色道久久综合精品竹菊| 亚洲成人直播| 欧美国产日韩免费| 亚洲肉体裸体xxxx137| 欧美顶级艳妇交换群宴| 久久性天堂网| 亚洲高清一区二区三区| 乱中年女人伦av一区二区| 欧美专区亚洲专区| 国产一区二区三区成人欧美日韩在线观看 | 欧美在线在线| 红杏aⅴ成人免费视频| 久久综合久久综合久久| 久久久精品性| 亚洲国产乱码最新视频|