帶外資料的程式設計實現

2021-09-11 02:43:59 字數 716 閱讀 6823

驗證帶外資料的傳送與接收的各種方式。

利用帶外資料原理設計並實現客戶-伺服器心搏函式。用於發現對端主機或到對端的通訊路徑的過早失效。

假設每1 秒鐘輪詢一次,若持續5 秒鐘沒有聽到對端應答則認為對端已不再存活,這些值可以有應用程式改動。

1.客戶-伺服器心搏機制

每隔1 秒鐘向伺服器傳送乙個帶外位元組,伺服器收取該位元組將導致它向客戶傳送回乙個帶外位元組。

客戶和伺服器每秒中遞增他們的cnt 變數一次,每收到乙個帶外位元組又把該變數重置為0。

若計數器到達5(即本程序已5 秒鐘沒有收到對端的帶外位元組),就認定連線失效。

雙向資料和帶外位元組都是通過乙個tcp 連線交換。

2. 具體目標

根據上述提示分別設計並實現客戶程式心搏函式和服務端心搏函式。並在建立連線的tcp 兩端執行兩個心搏函式。

3. 程式設計提示

客戶服務端主函式均在建立連線後執行各自心搏函式,再執行無限迴圈並在迴圈中執行pause 等待。

(客戶端心搏函式)

主函式給心搏函式提供:已連線描述字,間隔傳送oob 的秒數(頻率)

tcp傳送帶外資料

伺服器端 testnet include using namespace std include include include include include include include include include include define buf size 1024 int main...

帶外資料OOB與緊急模式URG

a,tcp支援帶外資料oob嗎?與緊急模式urg有什麼關係?tcp支援帶外資料,但是只有乙個oob位元組,tcp的帶外資料是通過緊急模式urg實現的.b,我們知道send sendfd,abc 3,msg oob 將傳送3個位元組的帶外資料oob資料.但是這裡tcp又只支援乙個位元組的oob,難道丟...

APUE 網路IPC 套接字之帶外資料

帶外資料 out of band data 是一些通訊協議所支援的可選特徵,允許更高優先順序的資料比普通資料優先傳輸。即使傳輸佇列已經有資料,帶外資料先行傳輸。tcp支援帶外資料,但是udp不支援。套接字介面對帶外資料的支援,很大程度受tcp帶外資料具體實現的影響。tcp將帶外資料稱為 緊急 資料 ...