天天看點

計算機java實訓報告,計算機Java實訓報告.doc

實 訓 報 告

課程名稱: 山寨版QQ

院 (系): 資訊科學與工程學院

專業班級: 計算機網絡專業08級2班

課程組長: 王二龍

課程成員: 展召振,于明闊

指導教師: 張曉諾

目 錄

1、課程設計概述2

2、課程設計題目描述2

3、系統需求分析與設計2

3.1 系統需求分析2

3.2 系統設計2

3.2.1 系統總體設計2

3.2.2 程式詳細設計3

4、系統測試和使用說明5

4.1 系統測試5

4.2 系統使用說明8

5、課程設計總結8

5.1 遇到的問題和解決方法8

5.2 心得體會9

多線程與C/S綜合應用——聊天系統

1、課程設計概述

我們的JAVA聊天系統于20年6月,持續時間為周。本次課程設計主要是利用所學的面向對象程式設計語言——JAVA來編寫程式,實作特定功能,以加深對的了解。

2、3、多線程功能:當用戶端要求與伺服器端建立連接配接時,伺服器端就将用到多線程功能,為每一個建立起來的連接配接建立一個線程。這不需要消息隊列,因為所有的線程都是相同的塊的一個部分,并且可以共享。這樣的程式比單線程模型和STA的執行速度都要因為降低了系統的負載,因而可以優化來減少系統時間ManageClientConServerThread類

ManageClientConServerThread類定義了用戶端與伺服器端保持通信的線程類,以及如何在進行資訊的交流。它用線程來實作,意味着它是獨立執行的。

ManageQqChat類

ManageQqChat類是管理使用者聊天界面的類,對使用者聊天界面的設計都可以通過此類實作,可以加載圖檔等等

ManageQqFriendList類

ManageQqFriendList類是一管理好友清單,界面和黑名單的類。在其中我們定義了一個私有的靜态變量!

QqClientCon類

這個類是用來設計用戶端連接配接伺服器背景的類,首先我們發送一個請求,然後進行身份驗證驗證成功的話,就開始啟動通信線程。

QqChat類

這是管理好友聊天界面的類,在這裡我們需要事件的監聽,并發生事件反應,是以我們使用了ActionListener。

QqClientLogin類

這個是使用者登陸界面的類,在其中可以定義北部,中部和南部需要的元件,以及進行監聽和處理。

伺服器端程式設計:

整合了三個JavaBeans類,對資訊進行處理

Message類

資訊内容儲存類,這是存儲資訊的公共類。

MessageType類

此類主要用來定義使用者收發資訊類型的類,通過此類可以改資訊的類型。

User類

這個主要是儲存使用者身份資訊的類。使用者輸入的身份資訊,通過此類進行存儲。

ManageClientThread 類

這個主要是管理使用者線程的類,在這裡進行使用者線程的處理。

MyQqServer這是伺服器類

剛開始他是出于監聽狀态,預設的是沒有啟動的,也就是沒有建立連接配接

當我們啟動伺服器他就開始建立連接配接。

SerConClientThread類

這是用戶端和伺服器通信的線程,用這個類說明了在一段時間内使用的線程。

MyServerFrame類

這是伺服器的控制界面,通過這個界面我們可以完成伺服器的啟動和關閉。

4、系統測試和使用說明

4.1 系統測試

使用JDK運作程式時,将Qqserver子目錄和 Qqclient子目錄下的程式都拷貝到目前目錄中,并将存放有背景的放到目前目錄中,

運作伺服器程式QqServer.jar,啟動伺服器端,視窗顯示如圖所示:

圖1 伺服器運作界面

點選啟動伺服器,伺服器開始啟動

運作第一個客戶程式,QqClient.jar執行後,windows視窗會顯示标題為山寨QQ的登入界面。如圖2所示:

圖2使用者登入界面

登陸成功以後現實 以使用者20為例 如圖3所示:

圖3客戶程式的運作界面

在兩個用戶端程式進行資訊的交流的時候。在這裡以使用者19和20為例如圖4所示

圖四

4.2 系統使用說明

在進行使用者登入之前,我們首先啟動伺服器,然後從用戶端進行登入,我們從中所使用的登入密碼是 123456 使用者名是1到50之間,由于我們的技術有限是以沒有設計資料庫。

5、課程設計總結

5.1 遇到的問題和解決方法心得Swing控件Swing控件

- 9 -