freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

通信軟件設(shè)計(jì)方法-第五講-狀態(tài)機(jī)程序設(shè)計(jì)與無(wú)狀態(tài)協(xié)議程序設(shè)計(jì)-文庫(kù)吧資料

2024-10-23 02:48本頁(yè)面
  

【正文】 ret = PROCESS_IPDATA_VER。 } 處理模塊 (參數(shù)是需要處理的 IP報(bào)文) 檢查數(shù)據(jù)報(bào)文 1)版本合法 2)長(zhǎng)度合法 3)檢驗(yàn)和正確 4)以上之一是 NO, 出錯(cuò)返回 若目的地址是 IP地址 A) 本機(jī)返回 若是路由器 A) TTL減 1,如 TTL為 0則 出錯(cuò)返回 轉(zhuǎn)發(fā)返回 成都信息工程學(xué)院 46 第五講 有狀態(tài)與無(wú)狀態(tài)通信協(xié)議程序設(shè)計(jì) IpDataProcess(struct ip_data *IpDataP) { int CheckR。 } CheckSum(IpDataP)。 if (IsRouter) { int ttl = IpDataPIP_ttl。 CheckR = CheckIpData(IpDataP)。 } 掩碼 4byte 目的地址 4byte 下一跳地址 4byte 標(biāo)記 1byte 引用記數(shù) 1int 使用記數(shù) 1long 接口號(hào)碼 1int 第五講 有狀態(tài)與無(wú)狀態(tài)通信協(xié)議程序設(shè)計(jì) 成都信息工程學(xué)院 40 IP路由表變量數(shù)組 define ROUTING_TABLE_MAX_NUMBER 10 struct routing_table RoutingTable[ROUTING_TABLE_MAX_NUMBER]。 long RT_user_conut。 char RT_flag。 struct ip_addr RT_IP_address。 int IP_OutQueueToTran_head, IP_OutQueueToTran_tail。 int IP_InputQueue_head, IP_InputQueue_tail。 }。 第五講 有狀態(tài)與無(wú)狀態(tài)通信協(xié)議程序設(shè)計(jì) 成都信息工程學(xué)院 36 固定長(zhǎng)度的 IP數(shù)據(jù)報(bào)文 define IP_DATA 1024 struct ip_data { struct ip_hdr IP_hdr。 // 檢驗(yàn)和 struct ip_addr IP_src, IP_dst。 // 存活時(shí)間 u_int8_t IP_p。 // 標(biāo)識(shí) u_short IP_off。 // 服務(wù)類型 u_short IP_len。 // 版本號(hào)碼 unsigned short int IP_hl:4。 //IP掩碼,占 32位 }。 //IP地址,占 32位 }。 //8位 typedef unsigned short u_short。 } parameter。 /* 函數(shù)參數(shù) */ struct parameter { PDU *pdup。 int next_state。 CurrentState = Set[Event][CurrentState].next_stat。event)。 default: …… break。 case E3: /* Timer Event(s) */ ………… break。 switch (event) { case E1: /* Initialize */ …… break。 Event變量的數(shù)值從哪里獲得? 增加 case語(yǔ)句 再用 switchcase結(jié)構(gòu) 程序變得很復(fù)雜,可讀差,修改困難 狀態(tài)數(shù)量很多怎么吧? 事件數(shù)量很多怎么吧? 這些函數(shù)是那里來(lái)的? 成都信息工程學(xué)院 11 狀態(tài)機(jī)程序設(shè)計(jì) switchcase結(jié)構(gòu) + 主循環(huán) …… ……… while (1) { get_event(amp。 } int event。 default: logError (Invalid Event, current_state, event)。 current_state = DISCONNECTED。 break。 break。 } break。通信軟件設(shè)計(jì)方法 楊雄 編寫 二零零九年四月 成都信息工程學(xué)院 1 講授內(nèi)容 1) LINUX概況 2) LINUX下 C語(yǔ)言程序編譯和調(diào)試 ) LINUX開(kāi)發(fā)環(huán)境學(xué)習(xí) (實(shí)驗(yàn) ) 3)通信系統(tǒng)和通信軟件 4)基于 TCPIP的主機(jī)到主機(jī)通信軟件示例 ) SOCKET程序設(shè)計(jì) (實(shí)驗(yàn) ) 5)有狀態(tài)與無(wú)狀態(tài)通信協(xié)議程序設(shè)計(jì) 6) LINUX內(nèi)核程序設(shè)計(jì) 7)低層 232接口通信程序設(shè)計(jì) 8)設(shè)計(jì)一個(gè)簡(jiǎn)單鏈路層以及程序 ) IP軟件和鏈路層軟件設(shè)計(jì) (實(shí)驗(yàn) ) 成都信息工程學(xué)院 2 本講重點(diǎn)問(wèn)題 如何編寫狀態(tài)機(jī)程序 成都信息工程學(xué)院 3 第五講 有狀態(tài)與無(wú)狀態(tài)通信協(xié)議程序設(shè)計(jì) ?協(xié)議與狀態(tài)機(jī) ?狀態(tài)機(jī)程序設(shè)計(jì) ?IP轉(zhuǎn)發(fā)程序設(shè)計(jì) 成都信息工程學(xué)院 4 協(xié)議與狀態(tài)機(jī) 什么是協(xié)議? 成都信息工程學(xué)院 5 協(xié)議與狀態(tài)機(jī) ?標(biāo)準(zhǔn)規(guī)范協(xié)議 ?私有的協(xié)議 協(xié)議就是通信規(guī)程,通信雙方或多方的信息傳輸約定 信息傳輸: 控制信息(數(shù)據(jù)); 運(yùn)載信息(數(shù)據(jù)) 通信系統(tǒng)的核心就是協(xié)議 成都信息工程學(xué)院 6 協(xié)議與狀態(tài)機(jī) 協(xié)議分為無(wú)狀態(tài)協(xié)議與有狀態(tài)協(xié)議 無(wú)狀態(tài)協(xié)議:信息處理和歷史記錄無(wú)關(guān) 例如 IP 有狀態(tài)協(xié)議:信息處理和歷史記錄有關(guān) 例如 TCP 有狀態(tài)協(xié)議用狀態(tài)機(jī)來(lái)表示 或者狀態(tài)圖來(lái)表示 成都信息工程學(xué)院 7 協(xié)議與狀態(tài)機(jī) 有限狀態(tài)機(jī)的元素 ? 狀態(tài) 協(xié)議的一個(gè)邏輯概念,規(guī)定特定狀態(tài)下可以接受特定 事件和執(zhí)行相應(yīng)動(dòng)作 ? 事件 PDU、 時(shí)鐘計(jì)數(shù)溢出、系統(tǒng)管理指令 ? 動(dòng)作 功能程序 成都信息工程學(xué)院 8 協(xié)議與狀態(tài)機(jī) 狀態(tài)機(jī)簡(jiǎn)單例子 2個(gè)狀態(tài) 4個(gè)事件 若干動(dòng)作 狀態(tài) S1 Disconnected 斷開(kāi) 狀態(tài) S2 Connected 連接 事件 E4 – 關(guān)閉 ( Shutdown) 送關(guān)閉信息 PDU給對(duì)方 關(guān)閉時(shí)鐘 事件 E1 – 本地初始化 ( Initialization) 送啟動(dòng)信息 PDU給對(duì)方 開(kāi)啟時(shí)鐘 事件 E2 – 收到對(duì)方來(lái)的數(shù)據(jù) PDU ( Protocol Message) 處理接收的 PDU 事件 E3 – 時(shí)鐘到 ( Timer Expiry) 定時(shí)處理 成都信息工程學(xué)院 9 協(xié)議與狀態(tài)機(jī) 如何編寫這個(gè)狀態(tài)機(jī)程序? 成都信息工程學(xué)院 10 狀態(tài)機(jī)程序設(shè)計(jì) – 示例 6 Switchcase結(jié)構(gòu)方法 switch (event) { case E1: /* Initialize */ If (current_state == DISCONNECTED) { InitializeProtocol ()。 current_state = CONNECTED。 case E2: /* Protocol Messages */ If (current_state == CONNECTED) ProcessMessages ()。 case E3: /* Timer Event(s)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1