?? 說明.txt
字號:
Java聊天室程序源
2 需求分析
2.1 業務需求
1. 與聊天室成員一起聊天。
2. 可以與聊天室成員私聊。
3. 可以改變聊天內容風格。
4. 用戶注冊(含頭像)、登錄。
5. 服務器監控聊天內容。
6. 服務器過濾非法內容。
7. 服務器發送通知。
8. 服務器踢人。
9. 保存服務器日志。
10.保存用戶聊天信息。
2.2 系統功能模塊
2.2.1 服務器端
1.處理用戶注冊
2.處理用戶登錄
3.處理用戶發送信息
4.處理用戶得到信息
5.處理用戶退出
2.2.2 客戶端
1.用戶注冊界面及結果
2.用戶登錄界面及結果
3.用戶發送信息界面及結果
4.用戶得到信息界面及結果
5.用戶退出界面及結果
2.3 性能需求
運行環境:Windows 9x、2000、xp、2003,Linux
必要環境:JDK 1.5 以上
硬件環境:CPU 400MHz以上,內存64MB以上
3.1.2 客戶端結構
ChatClient.java 為客戶端程序啟動類,負責客戶端的啟動和退出。
Login.java 為客戶端程序登錄界面,負責用戶帳號信息的驗證與反饋。
Register.java 為客戶端程序注冊界面,負責用戶帳號信息的注冊驗證與反饋。
ChatRoom.java 為客戶端程序聊天室主界面,負責接收、發送聊天內容與服務器端的Connection.java 親密合作。
Windowclose 為ChatRoom.java的內部類,負責監聽聊天室界面的操作,當用戶退出時返回給服務器信息。
Clock.java 為客戶端程序的一個小程序,實現的一個石英鐘功能。
3. 2 系統實現原理
當用戶聊天時,將當前用戶名、聊天對象、聊天內容、聊天語氣和是否私聊進行封裝,然后與服務器建立Socket連接,再用對象輸出流包裝Socket的輸出流將聊天信息對象發送給服務器端
當用戶發送聊天信息時,服務端將會收到客戶端用Socket傳輸過來的聊天信息對象,然后將其強制轉換為Chat對象,并將本次用戶的聊天信息對象添加到聊天對象集Message中,以供所有聊天用戶訪問。
接收用戶的聊天信息是由多線程技術實現的,因為客戶端必須時時關注更新服務器上是否有最新消息,在本程序中設定的是3秒刷新服務器一次,如果間隔時間太短將會增加客戶端與服務器端的通信負擔,而間隔時間長就會讓人感覺沒有時效性,所以經過權衡后認為3秒最佳,因為每個用戶都不可能在3秒內連續發送信息。
當每次用戶接收到聊天信息后將會開始分析聊天信息然后將適合自己的信息人性化地顯示在聊天信息界面上。
4.1.1 問題陳述
1.接受用戶注冊信息并保存在一個基于文件的對象型數據庫。
2.能夠允許注冊過的用戶登陸聊天界面并可以聊天。
3.能夠接受私聊信息并發送給特定的用戶。
4.服務器運行在自定義的端口上#1001。
5.服務器監控用戶列表和用戶聊天信息(私聊除外)。
6.服務器踢人,發送通知。
7.服務器保存日志。
結束語
本文討論了如何利用java技術開發聊天室系統,基本滿足了結構化、界面友好、速度快、安全性以及穩定性等特點。
系統著重研究并實現了網絡應用的部分。根據實現的情況看,具有較友好的聊天界面生成效果,以及流暢的網絡通信效果。生成的聊天室可以達到基本的聊天要求,具有較高的研究價值。
系統具有目前聊天室的基本功能:包括支持多種頭像,字色,語氣選擇,支持emote,支持私聊,支持在線聊友查找,支持分屏顯示,支持用戶定制自己的私人頭像,支持臟話過濾,支持嘉賓聊天。屏蔽掉自己討厭的人物,可以給所有聊友發公共信息。具有速度快,高穩定性,占用系統資源少,用戶界面友好等特點。
通過畢業設計,發現自己在理論研究和實際工作能力等方面都得到了提高,受益匪淺。同時在老師的指導和課題組同學的共同幫助下,及時總結研究成果,這些無疑會對我今后的工作和學習帶來很大的幫助。
這是我的畢業設計,畢業設計論文 還沒有 寫完
程序不是完全原創的根據 Happychat修改加強的
修改 超過50%
有什么問題請和我聯系
QQ:281284015
Email:ibm_chen@163.com
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -