day01-項目開發流程

多用戶即時通訊系統01

1.項目開發流程

2.需求分析

  1. 用戶登錄
  2. 拉取在線用戶列表
  3. 無異常退出(包括客戶端和服務端)
  4. 私聊
  5. 群聊
  6. 發文件
  7. 服務器推送新聞/廣播

3.設計階段

3.1界面設計

  1. 用戶登錄:

image-20220920182438430

  1. 拉取在線用戶列表:

image-20220920182554305

  1. 私聊:

image-20220920182653008


image-20220920182712818

  1. 群聊:

image-20220920182846445


image-20220920182903138


image-20220920182920638

  1. 發文件:

image-20220920183046013


image-20220920183214104

  1. 文件服務器推送新聞:

3.2通訊系統整體設計

總結:

服務端:

  1. 當有客戶端連接到服務器後,服務端會得到一個socket

  2. 啟動一個線程,該線程持有該socket對象,也就是說socket是該線程的屬性

  3. 為了更好的管理線程,需要使用集合來管理(如:HashMap)

客戶端:

  1. 和服務端通信時,使用對象方式,可以使用對象流來讀寫

  2. 當客戶端連接到服務端後,也會得到socket

  3. 啟動一個線程,該線程持有socket

  4. 為了更好的管理線程,也將該線程放入到集合中

4.編碼實現

4.1功能實現-用戶登錄

4.1.1功能說明

因為還沒有學習數據庫,我們認為規定 用戶名/id = 100,密碼為 123456 就可以登錄,其他用戶不能登錄,後面使用HashMap模擬數據庫,可以多個用戶登錄。

image-20220920184736385

4.1.2思路分析+框架圖

5.測試階段

6.實施階段