天天看點

UNIX網絡程式設計課程設計

                      目錄

第一章 緒論3

1.1背景3

1.2意義3

1.3本文研究的内容與目的3

第二章 系統分析3

2.1系統需求分析3

2.2系統開發的技術支援4

2.3業務邏輯分析4

2.4可行性分析4

第三章 總體設計4

3.1系統總體概要設計5

3.2系統功能子產品設計5

3.2.1Client:5

3.2.2Server:5

第四章 詳細設計與實作5

4.1引言5

4.1.1編寫目的5

4.1.2參考資料5

4.2範圍5

4.2.1系統主要目标5

4.2.2設計限制,限制5

4.3設計依據6

4.4開發環境6

4.4.1硬體環境6

4.4.2軟體環境6

4.5術語,定義和縮略語6

4.5.1術語,定義6

4.5.2縮略語6

4.6子產品設計7

4.6.1時序圖7

子產品client7

4.6.2子產品描述7

4.6.3功能7

4.6.4子產品設計7

子產品server8

4.6.5子產品描述8

4.6.6功能8

4.6.7子產品設計8

4.7接口設計8

4.7.1用戶端TCP套接字實作的主要函數:8

4.7.2伺服器端TCP套接字實作的主要函數:8

4.7.3用戶端實作過程9

4.7.4伺服器端實作過程10

4.8代碼設計10

用戶端:10

伺服器端:12

4.9用戶端實作:15

4.10服務端實作:16

第五章 系統測試17

5.1用列一:17

5.2用列二:18

5.3用列三:18

5.4用列四:19

5.5用列五:20

5.6測試結果評價20

第六章結論21

緻謝21

參考文獻21

第一章緒論

1.1背景

資料通信和計算機網絡推動了現代資訊技術的發展,網絡資訊系統對社會的重要性日益增長,人才市場急需能适用于網絡管理、網絡維護、網絡資訊系統、網絡的應用、網絡裝置研發和資料通信增值應用的人才。而我們需要了解各個系統的操作,我們可以在UNIX作業系統下,利用套接字程式設計接口進行計算機通信程式設計。了解其原理和方法。

1.2意義

通過設計開發,實作基本的網絡通信,學習其中過程的實作和原理,提高自身的程式設計和網絡通信的知識水準。

1.3本文研究的内容與目的

熟悉網絡套接字程式設計,實作基本的套接字通信,熟練掌握套接字通信的過程,熟悉利用send()和recv()函數發送和接收資訊的過程和原理。實作服務端多線程處理用戶端請求。

第二章系統分析

2.1系統需求分析

主要功能:

1)用戶端程式與伺服器進行TCP連接配接,

2)用戶端輸入字元data,伺服器接收指令并傳回日期資訊,實作目前系統的日期;

3)用戶端輸入任意字元串,伺服器接收并将字元串反轉發送到用戶端并顯示,實作字元串反轉;

4)用戶端輸入字元串close,伺服器端關閉連接配接,實作伺服器端關閉;

5)用戶端輸入字元串quit,用戶端主動關閉連接配接,實作用戶端關閉。

2.2系統開發的技術支援

1)環境需求:VMware Workstation 8.0

             Redhat.Enterprise.Linux.v6.

 Vi編輯器

 Gcc編譯工具

2)開發語言:C語言

2.3業務邏輯分析

1)連接配接子產品:伺服器端建立連接配接套接字,綁定套接字,監聽用戶端的連接配接請求,收到請求進行連接配接,接收資訊,發送資訊。

2)日期子產品:從控制台擷取用戶端輸入data字元串,發送到伺服器,伺服器接收該字元串,以該字元串為信号,在伺服器端調用目前日期函數,讀取目前系統日期,将該日期資訊通過send函數發送到用戶端,并在用戶端顯示。

3)字元串反轉子產品:用戶端從控制台擷取字元串(除data,close,quit之外),讀取字元串長度并顯示在用戶端,将該字元串發送到伺服器端,伺服器接收該字元串,并将該字元串反轉後發送回用戶端,在用戶端列印輸出反轉後的字元串。

4)quit關閉子產品:用戶端從控制台讀取quit字元串,将該字元串發送到伺服器端,伺服器端接收到該字元串後,直接執行伺服器端的關閉連接配接函數,主動關閉伺服器端的連接配接。

5)close關閉子產品:用戶端從控制台讀取close字元串,用戶端作出判斷,對比是否為“close”,是則用戶端主動執行關閉連接配接函數,關閉連接配接

2.4可行性分析

技術上:本設計采用C語言程式實作,語言功能強大,技術成熟,可利用的網絡程式設計的函數多。它可以作為工作系統設計語言,編寫系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。它的應用範圍廣泛,具備很強的資料處理能力。在Redhat.Enterprise.Linux.v6和虛拟機上操作,該平台成熟易開發。利用gcc編譯工具編譯,GCC是大多數類Unix作業系統(如Linux、BSD、Mac OS X等)的标準的編譯器,GCC同樣适用于微軟的Windows。

經濟上:Redhat.Enterprise.Linux.v6可在網上下載下傳免費,安裝操作簡單容易,可在個人pc機上實作,不需要任何費用。

詳細可下載下傳附件

繼續閱讀