IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 網(wǎng)絡(luò)超時(shí)檢測的三種方法

網(wǎng)絡(luò)超時(shí)檢測的三種方法 時(shí)間:2014-09-13      來源:未知

網(wǎng)絡(luò)通信中,很多操作會(huì)使得進(jìn)程阻塞,這時(shí)我們要設(shè)定時(shí)間,到時(shí)間后強(qiáng)制返回,避免進(jìn)程在沒有數(shù)據(jù)的情況下無限阻塞

這里我們總結(jié)一下網(wǎng)絡(luò)超時(shí)檢測的三種方法:

通過setsockopt設(shè)置套接字屬性SO_RCVTIMEO

struct timeval t = {5, 0}
         if (setsockopt(listenfd, SOL_SOCKET, SO_RCVTIMEO, &t, sizeof(t)) == -1) {
                   perror("setsockopt");
                   return -1;
         }
         memset(&peeraddr, 0, sizeof(peeraddr));
         len = sizeof(peeraddr);
         if ((connfd = accept(listenfd, (struct sockaddr *)&peeraddr, &len)) == -1) {
         printf("errno=%d: %s\n", errno, strerror(errno));
                   if (errno == EAGAIN) {
                            printf("timeout\n");
                            return -1;
                   }
         }

二、設(shè)定select函數(shù)的一個(gè)參數(shù)實(shí)現(xiàn)超時(shí)處理

struct timeval t= {3, 0};
         while (1) {
                   。。。。。。
                   t.tv_sec = 3;
                   t.tv_usec = 0;
                   if ((ret = select(maxfd+1, &rdfs, NULL, NULL, &t)) == -1) {
                            perror("select");
                            return -1;
                   }
                   。。。。。。
        }

三、設(shè)定一個(gè)定時(shí)器捕捉SIGALRM信號做超時(shí)控制

struct sigaction act;
         sigaction(SIGALRM, NULL, &act); //獲取SIGALRM信號的屬性
         act.sa_handler = handler; // 設(shè)置SIGALRM信號的處理函數(shù)
         sigaction(SIGALRM, &act, NULL); // 設(shè)置SIGALRM信號的屬性
         alarm(3); // 定時(shí)器設(shè)置3秒鐘
         while (1) {
                   if ((connfd = accept(listenfd, (struct sockaddr *)&peeraddr, &len)) == -1) {
                            if (errno == EINTR) {
                                     printf("timeout\n");
                                     return -1;
                            }
                   }

 

定時(shí)器3秒鐘內(nèi)沒有數(shù)據(jù)到來,內(nèi)核產(chǎn)生SIGALRM信號中斷當(dāng)前操作。我們知道設(shè)置信號捕捉函數(shù)可以用signal函數(shù)或是sigaction函數(shù)。但這里只能使用sigaction函數(shù),因?yàn)閟ignal設(shè)置的信號處理函數(shù)執(zhí)行完后會(huì)重新執(zhí)行被中斷的操作

上一篇:第1章 Contiki Hello World實(shí)驗(yàn)

下一篇:nfs服務(wù)與tftp服務(wù)的配置

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 液力耦合器,摩擦型液力耦合器生产厂家-河南省华升矿机有限公司 | 青岛大倾角输送带厂家_橡胶挡边输送带_波纹状挡边输送带_大倾角输送带型号-青岛朗森橡胶有限公司 | 河南三特炉业科技有限公司 | 深圳市金正电器有限公司| 食品厂净化工程-无尘车间装修改造-净化工程-洁净工程-苏州远盈净化公司 | 济南货架|济南仓储货架|济南仓库货架|山东蕴达金属制品有限公司 济南海纳特科技有限公司 | 深圳彩盒印刷-纸盒包装-不干胶标签印刷-深圳印刷厂家-深圳贝的印刷 | 新高度,萍乡市场调查研究公司,萍乡市场调研公司,萍乡第三方评估机构,萍乡神秘顾客暗访公司 | 润东方环保空调厂家-水冷式空调价格-润东方水冷空调-东莞市科骏机电设备有限公司 | 临淄信息港 - 免费发布房产、招聘、求职、二手、商铺等信息 www.lzzl.net | 山东土工膜_复合土工膜_防水板生产厂家-山东德旭达土工材料有限公司 | 南京企业宣传片制作,广告形象片,影视制作,宣传片拍摄,微电影拍摄制作公司 | 联系我们果博东方公司福布斯客服电话 | 买化工,找万创!泉州万创化工贸易有限公司 | 深圳钢成培训专业从事,五轴培训,车铣复合培训,数控车床,CNC数控编程,模具编程 ,钣金机械与模具设计,powermill,mastercam,solidworks,ug,hypermill培训 | 外墙涂料_真石漆_真石漆批发_河南宝润达真石漆厂家 | 日本进口东丽碳纤维材料-上海久扶新材料科技有限公司 | 学习力_免费的在线学习网站_学习、分享、成长! | 真石漆生产厂家|外墙水包水|水包砂-新佳官网 | 聚丙烯酰胺,聚合氯化铝,重金属捕捉剂,污泥调理剂,活性氧化铝,生石灰,反渗透阻垢剂,工业葡萄糖,硫酸铝,果壳活性炭,柱状活性炭,蜂窝活性炭,石英砂,锰砂-北京雁归来环保科技有限公司-以真诚为立足之本,以质量为生存之本,愿与海内外同仁共创双赢。雁归来人一路走来,气贯长虹,勇锐盖过怯弱,进取压倒苟安!我们紧扣时代脉搏,专注水处理、继往开来! | 生物除臭箱,玻璃钢拱形盖板_厂家_价格-河北润达环保设备有限公司 | 激光切割加工,佛山激光切割加工,钣金加工,机加工-佛山市华锐达金属制品有限公司 | 校服定做厂家-屹奥校服-无限能量·校园绽放 | 企业资质认证-上海翼弘企业咨询管理有限公司 | 手术无影灯生产厂家-提供电动手术台,电动产床定制与批发-山东华辰医疗设备有限公司 | 豪美陶瓷|陶瓷十大品牌|佛山陶瓷放心消费品牌| 塑料植草格_停车场植草格_消防车道植草格厂家_山东朋联建材 | 自动隔油提升设备,消防稳压一体设备,苏州不锈钢消防水箱,污水提升设备厂家,无负压变频供水设备厂家-苏州脉泉供水设备有限公司 | 输送机电动滚筒_山东电动滚筒_输送机滚筒_皮带输送机-山东中输输送机械有限公司 | 深圳蓝枫印刷_画册印刷_彩页印刷_宣传册印刷_包装盒印刷_彩盒印刷厂_不干胶印刷厂 | 通风方式信号控制箱_人防呼叫按钮_人防设备厂家–西安鼎兴自控工程有限公司 | 内蒙古发电机厂家_呼和浩特发电机租赁_销售_维修_回收_置换|盈弘发电设备有限责任公司 | 网上配音_免费配音_广告专题配音_网络录音网站【海豚配音】 | 机械智能停车设备_智能机械式立体停车库_立体车库停车设备租赁_山东科博机械车库 | 上进电缆(嘉兴)股份有限公司官网 - 光伏电缆|防火电缆|电力电缆|铝合金电缆专业生产厂家 | 精馏塔_甲醇回收塔_糠醛塔-无锡弘鼎华化工设备有限公司 | 芜湖藦卡机器人科技有限公司 | 苏州市相城区望亭镇叶凡工艺服饰绣品厂 | 轻质隔墙板厂家-加气隔墙板_grc轻质隔墙板_空心实心复合隔墙板_水泥混凝土轻质隔墙板批发价格 | 快达物流:电商和微商的仓储物流外包和托管服务-北京快达国际物流服务有限公司官方网站 | 丝杆升降机-蜗轮-滚珠-螺旋-swl丝杠升降机-德州润驰减速机有限公司 |