基於Socket編程的多線程交流通信平臺

基於Socket編程的多線程交流平臺---項目詳情

前言

  • 在一次學習過程中,突然結識到了Socket套接字這一內容,瞭解到它可以實現客戶端與服務器端的通信,而自己之前寫代碼都是一些乾巴巴的語句,並沒有過這種可以實現一端與一端可以交流的相關知識內容,所以特別想動手實踐,可以看到效果,便有了這個小項目的雛形。

所用技術

  • Socket套接字:首先用到Socket編程裏的某些類來創建服務器端與客戶端,並進行客戶端與服務器端的連接
  • 多線程:因爲不只要創建一個客戶端,要多個客戶端之間進行通信
  • 線程池:爲了方便管理,節約資源,我選擇了多線程連接池
  • I/O輸入輸出:客戶端要向服務器發送消息,也會收到服務器發來的消息;服務器也一樣,所以會用到輸入輸出流相關內容

功能實現

  1. 多個客戶端成功連接上服務器,服務器顯示客戶端在線人數
  2. 客戶端可以向其他所有在線客戶端發送消息
  3. 客戶端可以給指定用戶名的客戶端發送消息

使用手冊

  1. 開啓服務端與一個或多個客戶端
  2. 客戶端註冊:
輸入:
		username:客戶端名稱
		客戶端名稱自定義
  1. 若連接成功,服務器端顯示上線信息
  2. 指定客戶端通信:
輸入:
		P:用戶名-發送的消息
		冒號後面爲要發送消息的對象,“-”後面爲要發送的消息
  1. 與所有在線客戶端通信
輸入:
		G:要發送的消息
		冒號後面爲要給所有在線客戶端發送的消息

測試

  • 邊界值法:當客戶端線程數大於線程池設置線程數,超過的線程數註冊不成功;
  • 等價類法:輸入不規則的通信格式,則通信失敗,輸入有效的通信格式,則成功;
  • 場景設計法:當雙方連接服務器成功,則可以相互正常通信,當某一方或雙方同時斷開連接,則通信失敗;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章