伺服器實現心跳機制的兩種策略

2021-06-06 22:51:17 字數 635 閱讀 2570

大部分cs的應用需要心跳機制。心跳機制一般在server和client都要實現,兩者實現原理基本一樣。client不關心效能,怎麼做都行。

如果應用是基於tcp的,可以簡單地通過so_keepalive實現心跳。tcp在設定的keepalive定時器到達時向對端發乙個檢測tcp segment,如果沒收到ack或rst,嘗試幾次後,就認為對端已經不存在,最後通知應用程式。這裡有個缺點是,server主動發出檢測包,對效能有點影響。

應用自己實現

client啟動乙個定時器,不斷發心跳;

server收到心跳後,給個回應;

server啟動乙個定時器,判斷client是否存在,判斷方法這裡列兩種:時間差和簡單標誌。

1. 時間差策略

收到乙個心跳後,記錄當前時間(記為recvedtime)。

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

2. 簡單標誌

收到乙個心跳後,設定連線標誌為true;

判斷定時器時間到達,檢視所有的標誌,false的,認為對端超時了;true的將其設成false。

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

文字伺服器的兩種實現方式

在日常的工作專案中,我們常常會需要用到檔案伺服器,即在網頁端就能訪問到本地的電腦中某個資料夾下的所有檔案,示例介面如下 本文以linux系統 ubuntu系統 為例,具體介紹如何實現檔案伺服器。nginx的簡介與安裝 nginx是乙個高效能的http和反向 服務,也是乙個imap pop3 smtp...

Tomcat外部伺服器的兩種配置

第一種是在tomcat根目錄的 conf server.xml 開啟server.xml,找到元素 在其中新增如下 unpackwars true autodeploy true path為網頁位址列中輸入的名稱,docbase為web專案所在地。第二種是在 conf catalana localh...

linux伺服器之間傳輸檔案的兩種方式

1.scp 優點 簡單方便,安全可靠 支援限速引數 缺點 不支援排除目錄 用法 scp就是secure copy,是用來進行遠端檔案拷貝的。資料傳輸使用 ssh,並且和ssh 使用相同的認證方式,提供相同的安全保證 命令格式 scp 引數 源位址 使用者名稱 ip位址或主機名 檔案路徑 目的位址 使...