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

Error

C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
TCP之選項(xiàng)TCP_KETEPALIVE
 
KEEPALIVE機(jī)制,是TCP協(xié)議規(guī)定的TCP層(非應(yīng)用層業(yè)務(wù)代碼實(shí)現(xiàn)的)檢測(cè)TCP本端到對(duì)方主機(jī)的TCP連接的連通性的行為。避免服務(wù)器在客戶(hù)端出現(xiàn)各種不良狀況時(shí)無(wú)法感知,而永遠(yuǎn)等在這條TCP連接上。
 
該選項(xiàng)可以設(shè)置這個(gè)檢測(cè)行為的細(xì)節(jié),如下代碼所示:
int keepAlive = 1;    // 非0值,開(kāi)啟keepalive屬性
int keepIdle = 60;    // 如該連接在60秒內(nèi)沒(méi)有任何數(shù)據(jù)往來(lái),則進(jìn)行此TCP層的探測(cè)
int keepInterval = 5; // 探測(cè)發(fā)包間隔為5秒
int keepCount = 3;        // 嘗試探測(cè)的次數(shù).如果第1次探測(cè)包就收到響應(yīng)了,則后2次的不再發(fā)
setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE, (void *)&keepAlive, sizeof(keepAlive));
setsockopt(sockfd, SOL_TCP, TCP_KEEPIDLE, (void*)&keepIdle, sizeof(keepIdle));
setsockopt(sockfd, SOL_TCP, TCP_KEEPINTVL, (void *)&keepInterval, sizeof(keepInterval));
setsockopt(sockfd, SOL_TCP, TCP_KEEPCNT, (void *)&keepCount, sizeof(keepCount));
 
設(shè)置該選項(xiàng)后,如果60秒內(nèi)在此套接口所對(duì)應(yīng)連接的任一方向都沒(méi)有數(shù)據(jù)交換,TCP層就自動(dòng)給對(duì)方發(fā)一個(gè)保活探測(cè)分節(jié)(keepalive probe)。這是一個(gè)對(duì)方必須響應(yīng)的TCP分節(jié)。它會(huì)導(dǎo)致以下三種情況:
    對(duì)方接收一切正常:以期望的ACK響應(yīng)。60秒后,TCP將重新開(kāi)始下一輪探測(cè)。
    對(duì)方已崩潰且已重新啟動(dòng):以RST響應(yīng)。套接口的待處理錯(cuò)誤被置為ECONNRESET。
    對(duì)方無(wú)任何響應(yīng):比如客戶(hù)端那邊已經(jīng)斷網(wǎng),或者客戶(hù)端直接死機(jī)。以設(shè)定的時(shí)間間隔嘗試3次,無(wú)響應(yīng)就放棄。套接口的待處理錯(cuò)誤被置為ETIMEOUT。
 
全局設(shè)置可更改/etc/sysctl.conf,加上:
net.ipv4.tcp_keepalive_intvl = 5
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_time = 60
 
在程序中表現(xiàn)為:
阻塞模型下,當(dāng)TCP層檢測(cè)到對(duì)端socket不再可用時(shí),內(nèi)核無(wú)法主動(dòng)通知應(yīng)用層出錯(cuò),只有應(yīng)用層主動(dòng)調(diào)用read()或者write()這樣的IO系統(tǒng)調(diào)用時(shí),內(nèi)核才會(huì)利用出錯(cuò)來(lái)通知應(yīng)用層。
非阻塞模型下,select或者epoll會(huì)返回sockfd可讀,應(yīng)用層對(duì)其進(jìn)行讀取時(shí),read()會(huì)報(bào)錯(cuò)。
 
一點(diǎn)經(jīng)驗(yàn):
實(shí)際上我們?cè)谧龇?wù)器程序的時(shí)候,對(duì)客戶(hù)端的保活探測(cè)基本上不依賴(lài)于這個(gè)TCP層的keepalive探測(cè)機(jī)制。
而是我們自己做一套應(yīng)用層的請(qǐng)求應(yīng)答消息,在應(yīng)用層實(shí)現(xiàn)這樣一個(gè)功能。



在Window上遇到這個(gè)問(wèn)題,最后發(fā)現(xiàn)貌似只支持:
               // 設(shè)置KEEPALIVE (開(kāi)啟檢測(cè))
int optval = 1;
setsockopt(m_hSocket, SOL_SOCKET, SO_KEEPALIVE, (char *) &optval, sizeof(optval));


然后實(shí)際斷開(kāi)是在主動(dòng)Recv或者Send調(diào)用后才觸發(fā)的
posted on 2015-07-22 17:48 Enic 閱讀(241) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 從零開(kāi)始寫(xiě)棋牌游戲平臺(tái)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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一区二区三区网页| 久久精品国产精品亚洲综合| 亚洲一区二区欧美日韩| 亚洲欧美日韩国产另类专区| 欧美一级成年大片在线观看| 欧美一区二区视频在线| 久久久久九九九| 欧美极品aⅴ影院| 国产精品久久久久久久久久直播 | 亚洲免费av片| 亚洲一卡久久| 久久久久久久综合| 欧美韩日精品| 国产精品午夜国产小视频| 国产在线播精品第三| 亚洲精品视频一区二区三区| 亚洲欧美色婷婷| 久久综合久色欧美综合狠狠 | 亚洲精品影视在线观看| 欧美福利视频在线观看| 欧美调教视频| 国内精品嫩模av私拍在线观看| 亚洲欧洲在线一区| 香港久久久电影| 亚洲第一视频| 亚洲一线二线三线久久久| 久久全球大尺度高清视频| 欧美日本在线| 影音先锋另类| 先锋影音久久| 亚洲人体影院| 久久久久久亚洲精品杨幂换脸 | 最新日韩欧美| 久久成人精品无人区| 亚洲电影免费观看高清完整版在线| 一本色道久久加勒比精品| 久久婷婷综合激情| 国产免费成人av| 在线一区二区三区四区| 免费不卡在线观看| 性做久久久久久免费观看欧美| 欧美精品在线观看一区二区| 亚洲激情国产精品| 欧美69wwwcom| 久久久久国产精品人| 国产日本欧美在线观看 | 亚洲在线观看免费| 亚洲精品国产精品国自产在线| 久久超碰97中文字幕| 国产精品久久久久久久9999| 亚洲伦理在线观看| 欧美电影免费观看网站| 久久国产99| 国内精品免费午夜毛片| 久久精品av麻豆的观看方式 | 欧美视频一区二区三区…| 亚洲免费播放| 亚洲日韩视频| 欧美日韩国产va另类| 亚洲伦理久久| 亚洲精品美女在线| 欧美日韩激情小视频| 99视频日韩| 99亚洲视频| 国产精品美女久久久久av超清| 一本综合久久| 这里只有精品视频在线| 国产精品美女www爽爽爽| 性欧美暴力猛交另类hd| 先锋影音网一区二区| 国内激情久久| 亚洲欧美中日韩| 在线观看三级视频欧美| 久久免费视频在线观看| 久久精品久久综合| 亚洲高清不卡在线观看| 欧美99在线视频观看| 久久网站热最新地址| 91久久精品国产| 99精品国产在热久久下载| 国产精品久久婷婷六月丁香| 久久精品国产91精品亚洲| 久久久久国产精品午夜一区| 亚洲日本一区二区三区| 一区二区激情| 影音先锋亚洲精品| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲性图久久| 午夜精品一区二区三区在线视| 黄色成人小视频| 亚洲精品乱码久久久久久按摩观| 国产精品你懂的在线| 久久性色av| 欧美午夜一区二区三区免费大片| 久久精品一区二区三区不卡| 欧美黄色免费| 久久噜噜噜精品国产亚洲综合| 欧美极品一区二区三区| 久久精品视频一| 欧美少妇一区二区| 农夫在线精品视频免费观看| 欧美性色aⅴ视频一区日韩精品| 久久一区二区三区四区| 国产精品地址| 91久久精品一区二区别| 国产主播精品| 亚洲午夜一区二区| 亚洲精品激情| 久久免费视频一区| 欧美一区二区视频观看视频| 欧美成人免费小视频| 久久久人成影片一区二区三区| 欧美日韩精品二区| 欧美激情第9页| 国产在线拍偷自揄拍精品| 中文网丁香综合网| 一本久久a久久免费精品不卡| 久久久蜜桃精品| 久久久亚洲国产美女国产盗摄| 国产精品久久久91| 亚洲免费观看高清在线观看| 亚洲黄页一区| 麻豆成人在线观看| 米奇777在线欧美播放| 国产亚洲欧洲一区高清在线观看| 亚洲视频免费观看| 亚洲一区二区综合| 欧美体内she精视频在线观看| 欧美成人国产| 午夜久久久久久久久久一区二区| 欧美一级片在线播放| 亚洲欧美日韩在线不卡| 欧美日韩中文精品| 亚洲麻豆视频| 亚洲色图在线视频| 欧美视频在线一区二区三区| 亚洲久久一区| 亚洲综合色激情五月| 欧美视频第二页| 亚洲私人影吧| 欧美影院成年免费版| 国产日韩欧美一二三区| 香蕉av福利精品导航| 久久久久久久波多野高潮日日| 国产一区二区三区久久| 久久精品国产在热久久| 六月天综合网| 亚洲精品一区二区三区蜜桃久| 欧美国产视频在线观看| 亚洲美女在线观看| 午夜久久久久久| 狠狠久久亚洲欧美| 免费在线观看日韩欧美| 亚洲精品乱码久久久久久蜜桃91| 一区二区三区欧美在线观看| 欧美日韩综合一区| 午夜亚洲性色视频| 欧美成人国产一区二区| 日韩网站在线观看| 国产精品入口麻豆原神| 久久精品成人欧美大片古装| 亚洲第一区在线观看| 亚洲一区二区三区精品视频| 国产区亚洲区欧美区| 麻豆免费精品视频| 亚洲人成在线播放| 欧美日韩国产区| 午夜精品久久久久久久| 免费成人av在线看| 国产精品99久久久久久久vr| 国产喷白浆一区二区三区| 美女精品自拍一二三四| 亚洲天堂成人| 欧美黄色小视频| 欧美一级视频精品观看| 亚洲人成网站在线播| 国产欧美日本一区二区三区| 欧美成人福利视频| 午夜视频在线观看一区二区| 91久久国产自产拍夜夜嗨| 久久国产精品黑丝| 一区二区三区精品| 亚洲国产成人一区| 国产欧美精品xxxx另类| 欧美区日韩区| 久久久久久一区二区三区| 一区二区毛片| 亚洲人成毛片在线播放女女| 久久久av网站| 亚洲欧美视频在线观看| 日韩视频一区二区三区| 永久免费毛片在线播放不卡| 国产精品久久久久天堂| 欧美国产日本| 美女主播一区| 久久久午夜视频| 久久成人亚洲| 欧美一区二区三区在线视频| 亚洲午夜激情网站|