1. 程式人生 > >[原始碼和報告分享]基於java 的仿QQ聊天工具

[原始碼和報告分享]基於java 的仿QQ聊天工具

概要設計

在客戶端:當用戶登入後,生成唯一的socket, 存放在Client實體類中,在整個客戶端就一個Client類和一個socket。有一個視窗控制器——ChatUIList,用來記錄使用者和好友聊天框是否開啟,當收到訊息後,首先在ChatUIList中查詢是否有好友的視窗,如果沒有則新建聊天框彈出並顯示訊息,如果存在與好友的視窗則將訊息追加到原聊天框並重新著重顯示該視窗。在客戶端還擁有一個“命令控制中心”——ChatTread類,在ChatTread類中判斷並處理來自伺服器中的命令(訊息),如果是“message”那麼客戶端收到是來自好友的訊息,如果是“requeste_add_friend”則是好友申請命令,類似有“WorldChat”,“accept_add_friend”,“refuse_to_add”,“changepwd”等命令。

在服務端:有多個socket,用SockList管理連線成功的使用者名稱及其socket。同樣在服務端也有一個“命令控制中心”——ServerTread類,它負責處理來自客戶端的命令(訊息),判斷命令的型別,並正確處理他們,給出處理結果和判斷是否處理成功,將處理後的命令轉發給正確的使用者。

 

詳細的開發文件和程式原始碼我都分享在了個人部落格上了,感興趣的可以去看看:

https://write-bug.com/article/184.html