乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      服務(wù)器實現(xiàn)心跳機制的兩種策略

       CevenCheng 2011-09-06

      服務(wù)器實現(xiàn)心跳機制的兩種策略

       (2011-02-18 17:08)

      大部分CS的應(yīng)用需要心跳機制。心跳機制一般在Server和Client都要實現(xiàn),兩者實現(xiàn)原理基本一樣。Client不關(guān)心性能,怎么做都行。

      如果應(yīng)用是基于TCP的,可以簡單地通過SO_KEEPALIVE實現(xiàn)心跳。TCP在設(shè)置的KeepAlive定時器到達時向?qū)Χ税l(fā)一個檢測TCP segment,如果沒收到ACK或RST,嘗試幾次后,就認為對端已經(jīng)不存在,最后通知應(yīng)用程序。這里有個缺點是,Server主動發(fā)出檢測包,對性能有點影響。

      應(yīng)用自己實現(xiàn)

            Client啟動一個定時器,不斷發(fā)心跳;

            Server收到心跳后,給個回應(yīng);

            Server啟動一個定時器,判斷Client是否存在,判斷方法這里列兩種:時間差和簡單標志。

      1. 時間差策略

            收到一個心跳后,記錄當前時間(記為recvedTime)。

            判斷定時器時間到達,計算多久沒收到心跳的時間(T)=當前時間 - recvedTime(上面記錄的時間)。如果T大于某個設(shè)定值,就可以認為Client超時了。

      2. 簡單標志

           收到一個心跳后,設(shè)置連接標志為true;

           判斷定時器時間到達,查看所有的標志,false的,認為對端超時了;true的將其設(shè)成false。

           上面這種方法比上面簡單一些,但檢測某個Client是否離線的誤差有點大。

       

      本文來自CSDN博客,轉(zhuǎn)載請標明出處:http://blog.csdn.net/herm_lib/archive/2010/12/04/6054443.aspx

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多