聊天室專案

2021-08-14 10:55:05 字數 954 閱讀 2316

網路程式設計專案要求

一、 實現目標 

乙個在 linux 下可以使用的聊天軟體,要求至少實現如下功能:

1. 採用 client/server 架構

2. client a 登陸聊天伺服器前,需要註冊自己的 id 和密碼

3. 註冊成功後,client a 就可以通過自己的 id 和密碼登陸聊天伺服器

4. 多個 client x 可以同時登陸聊天伺服器之後,與其他使用者進行通訊聊天

6. client a 可以選擇發訊息給某個特定的 client x,即」悄悄話」功能

8. client a 在退出時需要儲存聊天記錄

9. server 端維護乙個所有登陸使用者的聊天會的記錄檔案,以便備查

可以選擇實現的附加功能: 

1. server 可以內建乙個特殊許可權的賬號 admin,用於管理聊天室

2. admin 可以將某個 client x 「提出聊天室」

3. admin 可以將某個 client x 」設為只能旁聽,不能發言」

4. client 端發言增加表情符號,可以設定某些自定義的特殊組合來表達感

情.如輸入:),則會自動傳送」*** 向大家做了個笑臉」

5. client 段增加某些常用話語,可以對其中某些部分進行」姓名替換」。

這次專案可以用tcp/udp/select通訊協議完成,最後同組成員選擇了tcp,我就選擇了用udp來實現。

專案分析: 

1.需要建立乙個資料庫用來儲存使用者的賬號,密碼,暱稱會員標誌位等資訊,暱稱是為了聊天時尋找物件使用; 

3.建立乙個結構體用來儲存傳送的資訊,包括通訊協議,暱稱,埠號,聊天內容等等…… 

4.使用udp來寫**時,伺服器並不需要建立執行緒,伺服器會對所有的埠號進行檢測,發現有狀況發生時,立即響應處理。 

5.在進行聊天時,要將所有的資訊儲存在檔案中,作為聊天記錄,在收到與傳送的位置對檔案進行讀寫操作即可。

聊天室專案

聊天室標頭檔案,定義所需變數 ifndef tcp net socket h define tcp net socket h include include include include include include include include include include include...

聊天室專案實戰

註冊的使用者名稱長度 採用邊界值方法,資料庫中儲存的使用者名稱長度及型別varchar 20 分別輸入使用者名稱0,1,20,21進行測試。其中0,1,20註冊成功,21註冊失敗。0是乙個bug。密碼長度以及個性簽名的長度同註冊的使用者名稱長度方法一樣進行測試。註冊的特殊字元 採用錯誤猜測法,設定一...

mysql 聊天室 聊天室php mysql 六

聊天室php mysql 六 相應的 資料庫 phpmyadmin mysql dump 主機 localhost 3306 資料庫 study28 資料表的結構 chat user create table chat user userid varchar 20 not null,passwd v...