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

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

TCP連接非正常斷開的檢測

Posted on 2010-12-29 10:38 S.l.e!ep.¢% 閱讀(1881) 評論(0)  編輯 收藏 引用 所屬分類: NetWorkepoll

TCP連接非正常斷開的檢測

如果主機崩潰,write是否阻塞取決于內核的tcp緩沖區,但read將一直阻塞,直到超時ETIMEOUT,或由于某些中間路由器的原因返回EHOSTUNREACH/ENETUNREACH。select不能檢測到該情況。
如果主機崩潰并重起,客戶的write到達主機時主機響應RST,客戶的read將返ECONNRESET。





此處的”非正常斷開”指TCP連接不是以優雅的方式斷開,如網線故障等物理鏈路的原因,還有突然主機斷電等原因
有兩種方法可以檢測:1.TCP連接雙方定時發握手消息 2.利用TCP協議棧中的KeepAlive探測
第二種方法簡單可靠,只需對TCP連接兩個Socket設定KeepAlive探測,所以本文只講第二種方法在Linux,Window2000下的實現(在其它的平臺上沒有作進一步的測試)
Windows 2000平臺下
C++代碼 復制代碼
  1. //定義結構及宏 ??
  2. struct?TCP_KEEPALIVE?{ ??
  3. u_longonoff; ??
  4. u_longkeepalivetime; ??
  5. u_longkeepaliveinterval; ??
  6. }?; ??
  7. #define?SIO_KEEPALIVE_VALS?_WSAIOW(IOC_VENDOR,4) ??
  8. //KeepAlive實現 ??
  9. TCP_KEEPALIVE?inKeepAlive?=?{0};?//輸入參數 ??
  10. unsigned?long?ulInLen?=?sizeof(TCP_KEEPALIVE); ??
  11. TCP_KEEPALIVE?outKeepAlive?=?{0};?//輸出參數 ??
  12. unsigned?long?ulOutLen?=?sizeof(TCP_KEEPALIVE); ??
  13. unsigned?long?ulBytesReturn?=?0; ??
  14. //設置socket的keep?alive為5秒,并且發送次數為3次 ??
  15. inKeepAlive.onoff?=?1; ??
  16. inKeepAlive.keepaliveinterval?=?5000;?//兩次KeepAlive探測間的時間間隔 ??
  17. inKeepAlive.keepalivetime?=?5000;?//開始首次KeepAlive探測前的TCP空閉時間 ??
  18. if?(WSAIoctl((unsigned?int)s,?SIO_KEEPALIVE_VALS, ??
  19. (LPVOID)&inKeepAlive,?ulInLen, ??
  20. (LPVOID)&outKeepAlive,?ulOutLen, ??
  21. &ulBytesReturn,?NULL,?NULL)?==?SOCKET_ERROR) ??
  22. { ??
  23. ACE_DEBUG?((LM_INFO, ??
  24. ACE_TEXT?("(%P|%t)?\WSAIoctl?failed.?error?code(%d)!\n"),WSAGetLastError())); ??
  25. }??


Linux平臺下
C++代碼 復制代碼
  1. #include ??
  2. …… ??
  3. ////KeepAlive實現 ??
  4. //下面代碼要求有ACE,如果沒有包含ACE,則請把用到的ACE函數改成linux相應的接口 ??
  5. int?keepAlive?=?1;//設定KeepAlive ??
  6. int?keepIdle?=?5;//開始首次KeepAlive探測前的TCP空閉時間 ??
  7. int?keepInterval?=?5;//兩次KeepAlive探測間的時間間隔 ??
  8. int?keepCount?=?3;//判定斷開前的KeepAlive探測次數 ??
  9. if(setsockopt(s,SOL_SOCKET,SO_KEEPALIVE,(void*)&keepAlive,sizeof(keepAlive))?==?-1) ??
  10. { ??
  11. ACE_DEBUG?((LM_INFO, ??
  12. ACE_TEXT?("(%P|%t)?setsockopt?SO_KEEPALIVE?error!\n"))); ??
  13. } ??
  14. if(setsockopt(s,SOL_TCP,TCP_KEEPIDLE,(void?*)&keepIdle,sizeof(keepIdle))?==?-1) ??
  15. { ??
  16. ACE_DEBUG?((LM_INFO, ??
  17. ACE_TEXT?("(%P|%t)?setsockopt?TCP_KEEPIDLE?error!\n"))); ??
  18. } ??
  19. if(setsockopt(s,SOL_TCP,TCP_KEEPINTVL,(void?*)&keepInterval,sizeof(keepInterval))?==?-1) ??
  20. { ??
  21. ACE_DEBUG?((LM_INFO, ??
  22. ACE_TEXT?("(%P|%t)?setsockopt?TCP_KEEPINTVL?error!\n"))); ??
  23. } ??
  24. if(setsockopt(s,SOL_TCP,TCP_KEEPCNT,(void?*)&keepCount,sizeof(keepCount))?==?-1) ??
  25. { ??
  26. ACE_DEBUG?((LM_INFO, ??
  27. ACE_TEXT?("(%P|%t)setsockopt?TCP_KEEPCNT?error!\n"))); ??
  28. }??
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久久久九九九| 亚洲一区二区三区在线| 久久久国产91| 午夜精品免费视频| 国产一区二区三区在线播放免费观看| 久久大逼视频| 久久久久欧美精品| 亚洲精品欧美极品| 一本到高清视频免费精品| 久久青草欧美一区二区三区| 久久视频在线看| 亚洲精品一二| 亚洲一区三区视频在线观看| 国产一区二区| 亚洲国产老妈| 欧美精品激情| 午夜日韩av| 可以看av的网站久久看| 99re66热这里只有精品3直播| 一区二区三区成人精品| 国产亚洲女人久久久久毛片| 欧美承认网站| 国产精品久久久久久久久久久久久久 | 国产精品夜夜夜一区二区三区尤| 亚洲精品综合在线| 在线视频精品一| 国产一区二区av| 亚洲美女电影在线| 国产一区999| 亚洲精品女av网站| 国产精品美女在线| 嫩草影视亚洲| 国产精品视频九色porn| 欧美福利视频| 国产欧美日本| 日韩小视频在线观看专区| 先锋资源久久| 亚洲精品专区| 欧美在线观看视频一区二区| 一区二区日韩免费看| 久久久夜夜夜| 久久大综合网| 韩日视频一区| 久久精品二区亚洲w码| 国产伦精品一区二区三区| 免费h精品视频在线播放| 欧美日韩亚洲一区三区| 免费美女久久99| 国产精品自在在线| 亚洲美女视频在线免费观看| 在线不卡欧美| 亚洲女人天堂成人av在线| 亚洲开发第一视频在线播放| 久久黄色影院| 欧美尤物一区| 国产精品国产三级欧美二区| 欧美国内亚洲| 亚洲高清av| 久久精品一区二区三区不卡牛牛| 午夜精品久久久久久久白皮肤 | 亚洲在线播放| 欧美日韩精品免费观看视一区二区| 久久视频在线免费观看| 国产老女人精品毛片久久| 日韩一区二区精品视频| 亚洲伦伦在线| 欧美激情日韩| 亚洲黄色有码视频| 亚洲国产免费| 欧美不卡激情三级在线观看| 欧美插天视频在线播放| 亚洲第一页在线| 欧美v国产在线一区二区三区| 欧美日韩午夜在线| 亚洲欧洲偷拍精品| aa国产精品| 欧美日韩在线视频一区二区| 亚洲精品综合久久中文字幕| 一区二区三区成人| 欧美天堂在线观看| 亚洲综合国产激情另类一区| 欧美一区二区黄| 国产综合第一页| 久久人人97超碰国产公开结果| 六月婷婷久久| 日韩一区二区久久| 国产精品大片| 久久精品视频免费| 亚洲国产精品久久久久久女王| 最新国产の精品合集bt伙计| 欧美精品一区二区三区蜜桃 | 欧美高清视频免费观看| 亚洲精品美女免费| 国产精品久久国产精麻豆99网站| 午夜精品久久久久| 欧美91福利在线观看| 日韩一级在线| 国内精品免费在线观看| 你懂的国产精品| 亚洲一区日韩在线| 女人色偷偷aa久久天堂| 亚洲视频观看| 伊人精品视频| 国产精品久久久久久av福利软件 | 欧美日韩一区在线播放| 美女脱光内衣内裤视频久久影院 | 免费成人网www| 一区二区三区免费网站| 国产麻豆精品在线观看| 久久综合狠狠综合久久激情| 日韩视频中文字幕| 久久久久久电影| 中国成人在线视频| 一区二区三区在线视频免费观看| 欧美国内亚洲| 欧美在线观看一二区| 亚洲久久在线| 欧美大片免费观看在线观看网站推荐| 一区二区三区 在线观看视| 精久久久久久| 国产精品尤物福利片在线观看| 久久资源在线| 欧美一区二区三区视频在线观看| 亚洲电影下载| 国产日韩亚洲欧美| 欧美特黄a级高清免费大片a级| 久久综合色天天久久综合图片| 亚洲尤物影院| 日韩亚洲不卡在线| 亚洲国产第一页| 免费成人av| 久久日韩精品| 欧美在线电影| 午夜精品婷婷| 亚洲一区免费视频| 一本到高清视频免费精品| 亚洲成色精品| 在线看国产一区| 极品尤物久久久av免费看| 国产一区二区三区在线观看网站 | 亚洲国产精品黑人久久久| 国产伦一区二区三区色一情| 欧美色区777第一页| 欧美屁股在线| 欧美精品一二三| 欧美精品少妇一区二区三区| 欧美激情第五页| 欧美xart系列在线观看| 免费在线国产精品| 欧美激情综合五月色丁香小说| 能在线观看的日韩av| 欧美14一18处毛片| 欧美成人综合| 欧美日韩日本国产亚洲在线| 欧美日韩国产片| 欧美啪啪一区| 国产精品麻豆成人av电影艾秋| 国产精品xnxxcom| 国产女主播一区二区| 国产免费成人在线视频| 国产精品一区二区男女羞羞无遮挡| 国产久一道中文一区| 狠狠入ady亚洲精品| 亚洲高清一二三区| 一区二区免费在线观看| 欧美日本久久| 国产精品激情电影| 国产欧美亚洲一区| 亚洲福利视频三区| 99精品久久免费看蜜臀剧情介绍| 国产精品99久久久久久www| 西西裸体人体做爰大胆久久久| 久久精品国产77777蜜臀| 欧美一区二区日韩一区二区| 亚洲欧美区自拍先锋| 久久国产精品久久国产精品| 免费成人av| 国产精品美女在线观看| 激情小说亚洲一区| 亚洲美女免费视频| 新67194成人永久网站| 蜜臀久久99精品久久久画质超高清| 亚洲国产日韩美| 亚洲欧美伊人| 免费一级欧美片在线播放| 国产精品久久久久影院色老大 | 欧美日韩精品福利| 国产偷久久久精品专区| 日韩一级在线| 噜噜噜噜噜久久久久久91| 亚洲伦理在线观看| 久久高清国产| 国产精品久久久久av| 日韩视频欧美视频| 久久青草久久| 亚洲免费影视| 欧美三级日韩三级国产三级| 在线观看亚洲| 久久精品视频在线免费观看| 亚洲精品免费在线播放|