網路程式設計實驗

2022-12-17 22:12:01 字數 3321 閱讀 6476

類qq聊天程式(qt版本)

說明文件

姓名:學號:

日期: 2013.5.2

目錄1引言 4

1.1編寫目的 4

1.2背景 4

1.3定義 4

1.4參考資料 5

2軟體需求說明 6

2.1任務概述 6

2.1.1目標 6

2.1.2使用者的特點 6

2.1.3假定和約束 6

2.2需求規定 7

2.2.1對功能的規定 7

2.2.2對效能的規定 8

2.2.3輸入輸出要求 8

2.2.4資料管理能力要求 8

2.2.5故障處理要求 8

2.3執行環境規定 9

2.3.1裝置 9

2.3.2支援軟體 9

2.3.3介面 9

2.3.4控制 9

3詳細設計說明 11

3.1程式系統的結構 11

3.2伺服器介面設計說明 13

3.2.1程式描述 13

3.2.2功能 13

3.2.3輸入/輸出 13

3.3伺服器端口監聽程式設計說明 14

3.3.1程式描述 14

3.3.2功能 14

3.3.3輸入/輸出 14

3.3.4流程邏輯 14

3.4客戶服務程式設計說明 15

3.4.1程式描述 15

3.4.2功能 15

3.4.3輸入/輸出 15

3.4.4流程邏輯 15

3.5客戶登入介面設計說明 16

3.5.1程式描述 16

3.5.2功能 16

3.5.3輸入/輸出 16

3.6客戶主介面設計說明 17

3.6.1程式描述 17

3.6.2功能 17

3.6.3輸入/輸出 17

3.7聊天室介面設計說明 18

3.7.1程式描述 18

3.7.2功能 18

3.7.3輸入/輸出 18

3.8單人聊天介面設計說明 19

3.8.1程式描述 19

3.8.2功能 19

3.8.3輸入/輸出 19

3.9伺服器訊息監聽程式設計說明 20

3.9.1程式描述 20

3.9.2功能 20

3.9.3輸入/輸出 20

3.9.4流程邏輯 20

4編碼實現 21

4.1介面類** 21

4.2 socket通訊** 22

4.3伺服器** 23

5系統測試 25

5.1使用者登陸測試 25

5.2介面內容更新測試 25

5.3伺服器處理測試 26

6總結 27

本文件介紹了網路應用程式設計實驗要求實現的通訊程式,分別從需求、設計、編碼、測試等角度對該程式做了詳細的介紹。

本文件的物件是關注socket通訊程式實現,有基本的c++程式語言能力並了解qt開發的讀者。可以用過閱讀本文件,了解程式實現的技術細節,對qt實現socket程式有乙個直觀的認識。

該通訊程式是作為網路實驗程式設計實踐部分被提出的,由參與網路實驗學習的學生獨立編寫和測試。作為乙個網路通訊程式,其執行環境可以使單機的,也可以是多機的。

按照網路實驗課程對該通訊程式的要求,需要使用的socket和qt開發兩項主要技術。完成的通訊程式可以執行在windows的作業系統上。

下面羅列了程式中使用的一些主要術語的定義:

● socket :通常也稱作「套接字」,用於描述ip位址和埠,是乙個通訊鏈的控制代碼。應用程式通常通過「套接字」向網路發出請求或者應答網路請求。

在連線成功時,應用程式兩端都會產生乙個socket例項,操作這個例項,完成所需的會話。

● qt:qt是2023年奇趣科技開發的乙個跨平台的c++圖形使用者介面應用程式框架。它提供給應用程式開發者建立藝術級的圖形使用者介面所需的所用功能。

qt很容易擴充套件,並且允許真正地元件程式設計。基本上,qt 同 x window 上的 motif,openwin,gtk 等圖形介面庫和 windows 平台上的 mfc,owl,vcl,atl 是同型別的東西。

● 騰訊qq聊天程式:qq是深圳市騰訊計算機系統****開發的一款基於internet的即時通訊(im)軟體。騰訊qq支援**聊天、****、點對點斷點續傳檔案、共享檔案、網路硬碟、自定義面板、qq郵箱等多種功能,並可與移動通訊終端等多種通訊方式相連。

本程式仿照qq介面與邏輯,大致實現qq的功能。

a. 錢德沛,張力軍等. 計算機網路實驗教程. 高等教育出版社,2009;

b. mark summerfield著,白建平,王軍峰,閆峰欣譯. qt高階程式設計. 電子工業出版社,2008;

c. jasmin blanchette,mark summerfield著,閆峰新,曾泉人,張志強譯. c++ gui qt4程式設計(第二版). 電子工業出版社,2008。

按照網路實驗課程對該通訊程式的要求,需要使用的socket和qt開發主要技術。完成的通訊程式可以執行在windows作業系統上。

本軟體是乙個可獨立執行的通訊程式,仿照騰訊qq聊天程式。其實現的功能是使用socket實現乙個聊天,既要支援多人同時聊天(聊天室功能),也要支援私人一對一聊天功能。目前僅支援一對一聊天。

由於該程式是使用c++語言開發的,並在qt環境下開發,qt版本4.84,qt creater 2.4環境,mingw編譯器,如果想跨平台則需要更換linux下的編譯器。

同時,qt還有跨平台的優良特性。

該軟體的使用者即是參與到聊天群組當中的個人。觀察目前較流行的商業聊天軟體,如qq、msn等可以發現,參與到聊天過程中的人具有不同的教育水平和技術專長,這就要求軟體的使用介面應盡量簡單,方便各種層次的使用者使用。

該軟體作為網路實驗課程的實踐部分,且仿照qq等聊天程式,有廣泛的使用者群,軟體內部的容錯、均衡機制也需要考慮。因此,本程式「麻雀雖小,五臟俱全」。

軟體維護人員需要具備qt通訊程式的開發經驗,了解該程式的執行過程,掌握相關除錯工具,能夠及時發現和排除程式中存在的bug。

進行本軟體開發工作的假定和約束主要有:

● 相關程式和文件由個人獨立完成;

● 程式開發過程中需要使用到socket和qt開發技術;

● 實現基本的單人聊天功能;

● 在2023年5月2日前完成相關程式的除錯和文件撰寫。

網路程式設計實驗

2014年秋季學期 班級 計12 1班 學號 12101020128 姓名 劉傑 1 實驗目的 1 熟練使用運算元據庫 2 熟練利用datagridview繫結資料及其高階應用 3 熟練使用 winform sql server開發資料庫應用程式 2 實驗內容 1 建立windows桌面應用,包括4...

C程式設計實驗

實驗一熟悉turbo c的程式設計環境 一 目的要求 1 熟悉turbo c的程式設計環境 2 知道程式編輯 鏈結 執行的基本步驟 3 學習如何查錯並修改程式 4 上機前預習編寫好程式。二 實驗內容與步驟 除錯以下兩個程式 the first c program include void main ...

Linux網路程式設計第二次實驗報告

姓名 學號 2012211 班級 2012211 作業截圖如下 客戶端程式截圖 服務端程式如下 客戶端執行結果如下 服務端執行結果如下 程式執行結束後,開啟txt文件結果正確,如下 第一次開啟 第二次開啟 過程中遇到的問題 1.問題 命令的識別不知道應該怎麼樣便捷且成功的識別 辦法 通過和同學交流,...