Tcp和Udp通信Linux系統(tǒng)開發(fā)實驗報告_第1頁
Tcp和Udp通信Linux系統(tǒng)開發(fā)實驗報告_第2頁
Tcp和Udp通信Linux系統(tǒng)開發(fā)實驗報告_第3頁
Tcp和Udp通信Linux系統(tǒng)開發(fā)實驗報告_第4頁
Tcp和Udp通信Linux系統(tǒng)開發(fā)實驗報告_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1 實驗?zāi)康?. 編輯一個畫圖的功能,例如畫圓以及畫圓柱體等。2. 實現(xiàn)兩種通信,一種是tcp通信,一種是udp通信。二實驗內(nèi)容 實現(xiàn)一個畫圖的功能,主要就是點擊畫圖按鈕,他就會自動的進行畫圖,像畫的是圓的話就讓圓不停地顯示,如果畫的是圓柱體的話,就讓圓柱體不停的進行比較顯示。做兩個通信,一個是tcp通信,一個是udp通信;這兩個通信都要實現(xiàn)最基本的通信,也就是客戶機發(fā)送信息,服務(wù)器要能夠接受到,并且顯示出來。三. 實驗過程及結(jié)果(一)畫圖功能1.首先直接在操作ui界面,在界面里面添加相關(guān)組件,如下:圖1 ui界面 圖2 ui界面圖3 ui界面 2.打開mainwindow.h文件,在里面定義

2、一些槽函數(shù)以及一些變量,主要定義的是畫圖函數(shù),以及停止函數(shù)。圖4 定義槽函數(shù)3. 在這個基礎(chǔ)上,具體實現(xiàn)每個槽函數(shù),畫圓為了讓他不停的顯示,需要啟動定時器,畫圓主要實現(xiàn)的就是一個在標簽上貼圖的功能。 而畫柱體也是一樣,如果要使用填充顏色,那么就要添加一個brush這個工具。如果要使邊框有顏色,就需要添加一個pen工具。圖5 實現(xiàn)槽函數(shù)圖6 實現(xiàn)槽函數(shù)在mainwindows中添加涉及到的頭文件。圖7 添加頭文件4.做好槽函數(shù)與按鈕之間的響應(yīng),畫圖按鈕跟定時器開關(guān)進行連接,注意的是,定時器跟畫圖函數(shù)響應(yīng)。 圖8 添加連接函數(shù)5.運行一下結(jié)果。圖9 定時器啟動 圖10 持續(xù)畫圖圖11 停掉畫圓圖1

3、2 兩個都停掉(二)tcp通信1.先定義槽函數(shù)以及一些變量,主要定義的是發(fā)送信息和發(fā)送文件,連接函數(shù),監(jiān)聽函數(shù)等。圖13 定義槽函數(shù)2.然后再具體實現(xiàn)槽函數(shù)。下面定義了一個接受監(jiān)聽函數(shù)acceptlisten(),主要是服務(wù)器一直在監(jiān)聽有沒有客戶機發(fā)出連接請求。而監(jiān)聽函數(shù)mylisten(),主要是服務(wù)器在監(jiān)聽客戶機,最后一個sedm()函數(shù),主要就是定時器,將文本框中的內(nèi)容轉(zhuǎn)為整型數(shù)據(jù)發(fā)送。 圖14 實現(xiàn)槽函數(shù)下面定義了一個myquit()函數(shù),主要就是將定時器關(guān)閉,socket停止通信,服務(wù)器關(guān)閉。而trandata()函數(shù)實現(xiàn)的是數(shù)據(jù)信息的發(fā)送;myconnect()函數(shù)實現(xiàn)的是客戶機和

4、服務(wù)器的連接。圖15 實現(xiàn)槽函數(shù)在下面的函數(shù)中,myrecvm()函數(shù)實現(xiàn)的是服務(wù)器接受信息的功能。圖16 添加頭文件把上面函數(shù)中所涉及到的類添加到頭文件中圖17 添加頭文件3.做響應(yīng)連接,主要把定時器跟接受數(shù)據(jù)函數(shù)連接,而發(fā)送數(shù)據(jù)按鈕則是跟定時器開關(guān)相連接,主要一按下定時器就開啟,那么服務(wù)器就會自動的接受數(shù)據(jù)了并顯示出來。圖18 添加連接響應(yīng)4.修改一下.PRO文件,因為這個實現(xiàn)涉及到網(wǎng)絡(luò),所以需要在其中添加network。因為源代碼有opencv類,但這個小類庫沒有裝,所以需要后面另行裝上,然后再將類庫包進來,添加在最后面。圖19 添加類庫5.結(jié)果顯示圖20 顯示選項框圖21 顯示選項框?qū)?/p>

5、現(xiàn)發(fā)送數(shù)據(jù)功能圖22 發(fā)送數(shù)據(jù)實現(xiàn)接受數(shù)據(jù)功能圖23 接受數(shù)據(jù)按下stop,就停止接收數(shù)據(jù)了圖24 停止接受數(shù)據(jù)按下quit,關(guān)掉服務(wù)器圖25 關(guān)閉服務(wù)器按掉close,就是把輸出的內(nèi)容全部清掉圖26 清除內(nèi)容圖27 關(guān)閉連接(三)udp通信1.首先先定義槽函數(shù)還有幾個變量,主要定義的是發(fā)送點對點、發(fā)送多播、發(fā)送廣播,然后還有定時器以及相應(yīng)的接受函數(shù)。圖28 定義槽函數(shù)2.然后具體實現(xiàn)槽函數(shù)。實現(xiàn)點對點的傳播,主要先創(chuàng)建一個socket進行通信,然后將發(fā)送狂的內(nèi)容變?yōu)檎螖?shù)據(jù),然后將定時器開啟,那么其他的發(fā)送方式的原理也是這樣的。圖29 實現(xiàn)槽函數(shù)圖30 實現(xiàn)槽函數(shù)下面的btnclear()函

6、數(shù),主要就是將通信socket關(guān)閉,然后將輸出框的內(nèi)容清除。圖31 實現(xiàn)槽函數(shù)接受信息函數(shù),實現(xiàn)的是一個文本信息附加的功能。圖32 實現(xiàn)槽函數(shù)將上面涉及到的類添加到頭文件。圖33 添加頭文件3.做好響應(yīng)連接。主要將每個按鈕與它們的對應(yīng)函數(shù)相關(guān)聯(lián)好。圖34 做好連接4.修改.PRO文件,因為源代碼有opencv類庫,之前軟件沒有裝這個類庫,所以需要裝上之后,在文件的后面添加上相應(yīng)的類庫。圖35 添加類庫5.運行結(jié)果圖36 運行界面圖37 運行界面實現(xiàn)發(fā)送廣播和接受廣播功能圖38 發(fā)送廣播圖39 接受廣播按stop之后,就會暫停輸出,然后輸入界面變?yōu)榭請D40 輸入變?yōu)榭請D41 輸出暫停按clear

7、,輸出界面就會清空圖42 清空界面實現(xiàn)發(fā)送點對點、接受點對點功能圖43 發(fā)送點對點圖44 接受點對點實現(xiàn)發(fā)送多播、接收多播功能圖45 實現(xiàn)發(fā)送多播圖46 實現(xiàn)接受多播四.實驗小結(jié)1. 在實現(xiàn)畫圖功能時,例如畫圓,為了讓他不停的顯示,需要啟動定時器,畫圓主要實現(xiàn)的就是一個在標簽上貼圖的功能。 而畫柱體也是一樣,如果要使用填充顏色,那么就要添加一個brush這個工具。如果要使邊框有顏色,就需要添加一個pen工具。2. 做好槽函數(shù)與按鈕之間的響應(yīng),畫圖按鈕跟定時器開關(guān)進行連接,注意的是,定時器跟畫圖函數(shù)響應(yīng)。3. 實現(xiàn)tcp通信,先定義槽函數(shù)以及一些變量,主要定義的是發(fā)送信息和發(fā)送文件,連接函數(shù),監(jiān)

8、聽函數(shù)等。4. 然后再具體實現(xiàn)槽函數(shù)。例如,acceptlisten()函數(shù)主要是服務(wù)器一直在監(jiān)聽有沒有客戶機發(fā)出連接請求,而監(jiān)聽函數(shù)mylisten()主要是服務(wù)器在監(jiān)聽客戶機,sedm()函數(shù)主要就是啟動定時器并將文本框中的內(nèi)容轉(zhuǎn)為整型數(shù)據(jù)發(fā)送,而myquit()函數(shù)主要就是將定時器關(guān)閉、socket停止通信以及服務(wù)器關(guān)閉等等。5. 做響應(yīng)連接,主要把定時器跟接受數(shù)據(jù)函數(shù)連接,而發(fā)送數(shù)據(jù)按鈕則是跟定時器開關(guān)相連接,主要一按下定時器就開啟,那么服務(wù)器就會自動的接受數(shù)據(jù)了并顯示出來。6. 修改一下.PRO文件,因為這個實現(xiàn)涉及到網(wǎng)絡(luò),所以需要在其中添加network。因為源代碼有opencv類,但這個小類庫沒有裝,所以需要后面另行裝上,然后再將類庫包進來,添加在最后面。7. 實現(xiàn)udp通信,首先先定義槽函數(shù)還有幾個變量,主要定義的是發(fā)送點對點、發(fā)送多播、發(fā)送廣播,然后還有定時器以及相應(yīng)的接受函數(shù)。然后具體實現(xiàn)槽函數(shù)。實現(xiàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論