冷爽
【摘要】 本文在TCP協(xié)議基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了局域網(wǎng)通信程序,在這一過(guò)程中主要運(yùn)用到的是C/S模式,并運(yùn)用SPCKET套接字接口的作用從而實(shí)現(xiàn)了底層通信,并承擔(dān)TCP數(shù)據(jù)包的發(fā)送和接收,完成了模擬Ethernet幀的發(fā)送過(guò)程。這種通信系統(tǒng)從其作用的發(fā)揮上來(lái)說(shuō),它具有最基本的通信功能,好友之間的文件閱讀和信息傳遞是基于P2P方式實(shí)現(xiàn)的。筆者就此從系統(tǒng)的設(shè)計(jì)入手,分析了TCP協(xié)議基礎(chǔ)上的局域網(wǎng)通信程序的設(shè)計(jì)方法。
【關(guān)鍵字】 TCP協(xié)議 局域網(wǎng)通信程序 設(shè)計(jì)方法
局域網(wǎng)通信具有實(shí)時(shí)性、跨區(qū)域性、效率高等的優(yōu)點(diǎn),在現(xiàn)代社會(huì)信息的即時(shí)傳遞中發(fā)揮著重要的作用,具有十分廣泛的使用范圍,因此,對(duì)于設(shè)計(jì)商來(lái)說(shuō),如何設(shè)計(jì)出一個(gè)可以同時(shí)處理多個(gè)用戶的實(shí)時(shí)安全聊天具有重要的現(xiàn)實(shí)意義。以TCP協(xié)議為基礎(chǔ)的局域網(wǎng)通信程序,主要采用的是C/S模式,在這個(gè)模式下可以設(shè)計(jì)出高效完整的即時(shí)信息傳達(dá)系統(tǒng)。
一、TCP基礎(chǔ)上的局域網(wǎng)通信程序的設(shè)計(jì)概述
1.1對(duì)于TCP數(shù)據(jù)包的發(fā)送和接收
本文進(jìn)行設(shè)計(jì)的研究目的就是根據(jù)當(dāng)前現(xiàn)狀設(shè)計(jì)出一個(gè)多功能的程序,并由其承擔(dān)TCP數(shù)據(jù)包的發(fā)送和接收,把這些TCP數(shù)據(jù)包接收后再發(fā)送給目的主機(jī),最后把數(shù)據(jù)字段顯示再標(biāo)準(zhǔn)的輸出上。在進(jìn)行MFC編寫時(shí),主要是為了其可以應(yīng)用到圖像界面,以達(dá)到即時(shí)消息的收發(fā)目的,它的基本流程順序就是:先建立一個(gè)為消息傳輸服務(wù)的服務(wù)器,服務(wù)器上設(shè)置IP;然后對(duì)TCP頭部的各個(gè)參數(shù)進(jìn)行設(shè)定,保證合理;然后再即時(shí)消息服務(wù)的一端輸入消息點(diǎn)擊發(fā)送;最后接收TCP消息文件。
1.2模擬Ethernet幀的發(fā)送過(guò)程
對(duì)于這方面的了解,我們可以從當(dāng)前的即時(shí)消息服務(wù)現(xiàn)狀來(lái)入手分析,首先,當(dāng)前人們使用最普遍的局域網(wǎng)就是Ethernet,那么我們?cè)趯?duì)其進(jìn)行模擬的作用下,可以掌握更多更詳細(xì)的知識(shí),在大多數(shù)狀況下,對(duì)于Ethernet幀的模擬,它的數(shù)據(jù)接收和發(fā)送流程是按照規(guī)定的程序進(jìn)行:首先,對(duì)其結(jié)構(gòu)中的兩臺(tái)主機(jī)分別以I和II線程來(lái)表示,它的總線模擬采用規(guī)定的bus雙字類型變量;其次,由I和II向bus進(jìn)行數(shù)據(jù)的傳輸;最后,這個(gè)系統(tǒng)中的所有主機(jī)部分都必須把獲得的25組數(shù)據(jù)信息傳輸?shù)娇偩€上,并且還要保證這些傳輸?shù)臄?shù)據(jù)都是成功狀態(tài),不能出現(xiàn)一個(gè)錯(cuò)誤。
二、設(shè)計(jì)的指導(dǎo)思想分析
2.1關(guān)于TCP數(shù)據(jù)包的收發(fā)設(shè)計(jì)指導(dǎo)思想
我們研究的這個(gè)程序,它設(shè)計(jì)的最終目的就是獲得TCP數(shù)據(jù)包,并且在獲得后可以在原始套接字的作用下發(fā)揮自身的功能,進(jìn)而達(dá)到設(shè)計(jì)的要求,那么通過(guò)對(duì)這個(gè)程序的設(shè)計(jì)思想分析,可以總結(jié)出這個(gè)程序的設(shè)計(jì)要想獲得成功,就離開不TCP數(shù)據(jù)包和模擬Ethernet幀的共同支持。
2.2 Ethernet幀的收發(fā)過(guò)程設(shè)計(jì)指導(dǎo)思想
1、對(duì)于其發(fā)送過(guò)程的介紹。首先,對(duì)載波發(fā)生過(guò)程的偵聽。在Ethernet結(jié)構(gòu)中,它的各個(gè)結(jié)點(diǎn)之間是相互獨(dú)立的,在作用的發(fā)揮上也是獨(dú)立進(jìn)行的,但是,都離不開總線的基礎(chǔ)支持?;诖?,在每一個(gè)結(jié)點(diǎn)把幀之前,都會(huì)進(jìn)行一個(gè)事前的判斷,判斷的對(duì)象是總線的狀態(tài),也就是其是否屬于空的狀態(tài)?,F(xiàn)代的Ethernet數(shù)據(jù)的編碼方式屬于曼徹斯特式,如果判斷是空,就可以進(jìn)行發(fā)送。其次,對(duì)沖突過(guò)程的檢測(cè)。在這個(gè)系統(tǒng)中,數(shù)據(jù)信息在傳輸時(shí),會(huì)因?yàn)榭偩€承擔(dān)的傳輸任務(wù)角度而發(fā)生阻塞現(xiàn)象,從而會(huì)造成數(shù)據(jù)傳輸?shù)牟患皶r(shí)和失真,因此,就需要在開始傳輸前,對(duì)其進(jìn)行是否阻塞的檢測(cè),一旦出現(xiàn)阻塞就要停止傳輸。最后,延遲隨機(jī)重發(fā)。經(jīng)過(guò)上一環(huán)節(jié)后,在對(duì)阻塞進(jìn)行檢測(cè)時(shí),需要對(duì)結(jié)點(diǎn)進(jìn)行隨機(jī)的重新發(fā)送,如果再一次的發(fā)送還是不能通過(guò)的話,就需要取消這一幀的發(fā)送,通常情況下,對(duì)于隨機(jī)延遲的具體算法是采用截止二進(jìn)制指數(shù)年后退的形式。
2、對(duì)于其接收環(huán)節(jié)的介紹。首先,在進(jìn)行接收之前,要詳細(xì)檢查其是否存在傳輸?shù)淖枞麊?wèn)題,當(dāng)然沒(méi)有的話自然更好,可以順利的進(jìn)行下一工作,一旦發(fā)現(xiàn)阻塞狀況的存在,就要及時(shí)的停止接收這一幀。其次,對(duì)發(fā)送的幀的目的接收地址進(jìn)行全面的考察,對(duì)于其接收能力進(jìn)行一個(gè)合理的判斷,分析其是否具備接收的能力,如果可以接收的話,就要繼續(xù)下一步的工作,如果達(dá)不到接收的要求,就需要對(duì)其進(jìn)行更換或改變。最后,前兩者環(huán)節(jié)之后,就要對(duì)CRC和LLC數(shù)據(jù)長(zhǎng)度進(jìn)行詳細(xì)的檢驗(yàn)分析,分析其正誤狀態(tài),如果全部屬于正確的狀態(tài),就可以順利的接收這一幀,如果不正確的話,就要及時(shí)的停止對(duì)這一幀的接收。
總結(jié):綜上所述,文中所講述的程序設(shè)計(jì)是滿足人性化、穩(wěn)定化、模塊化以及安全性等的要求的,通過(guò)實(shí)驗(yàn)的結(jié)果可以看出,這個(gè)通信程序的即時(shí)信息傳遞效果還是較為良好的。在TCP協(xié)議的基礎(chǔ)上,這種局域網(wǎng)通信程序的設(shè)計(jì)方法還是具有很高應(yīng)用價(jià)值的。
參 考 文 獻(xiàn)
[1]肇字飛.基于TCP協(xié)議的局域網(wǎng)通信程序的設(shè)計(jì)[J].山東工業(yè)技術(shù),2015,(14):121-121.
[2]龍昱程.基于TCP協(xié)議的應(yīng)用層協(xié)議設(shè)計(jì)[J].信息通信,2015,(5):69-70.