目錄
第一章 緒論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機上實作,不需要任何費用。
詳細可下載下傳附件