天天看點

基于UDP的dos多人聊天室

文章目錄

##前言

\qquad 這學期正好有門TCP/IP 程式設計,乘機寫了個dos下的聊天室,去年這個時候用Java寫了個帶GUI的多人聊天室,不過整體來看這次在對網絡程式設計有了一定的理論基礎後,這次用c++寫的時候,那叫一個輕車熟路。寫了多個版本的demo,在文章的最後會把demo更新描述。(對于Java版或者Demo有需要的可以在評論區回複)。

##聊天室優點與可拓展功能

###優點:

1.實作了基本的聊天功能,包括群聊與私聊

2.使用者注冊時使用檔案做過渡,使用者退出登陸時仍可保留使用者資訊

3.封裝消息傳遞時格式,包括消息的生成與解析

4.友好的操作邏輯

5.多方位錯誤提醒

###可拓展功能

1.本次由于要求,将用戶端一分為二包括接收端和發送端,雖然減少了開多線程帶來的工作量,但是使整個聊天室的一體性大打折扣,于是就可以在用戶端開多線程去優化。

2.這聊天室限于其類型,隻是通過文檔來儲存使用者清單,但是可以使用資料庫來增加使用者量增大帶來的問題

3.聊天室并不支援檔案發送,可以考慮後期添加

4.聊天室未對多群組,好友關系留下拓展接口,這是考慮到檔案操作的局限性,如果有需求,可以做兩方面考量,第一是使用資料庫建立好友關系,群組關系,使用者表;第二修改消息格式,拓展對添加的群組選擇拓展。

##實測

###登陸界面

基于UDP的dos多人聊天室

###注冊

基于UDP的dos多人聊天室

###聊天

基于UDP的dos多人聊天室

###群聊

基于UDP的dos多人聊天室

###私聊

基于UDP的dos多人聊天室

###退出(左邊為sender退出,右邊為receiver退出)

基于UDP的dos多人聊天室

##編譯環境

IDE : CodeBlocks 16.01

語言:C++

運作須知:需要添加連結庫,才可以運作

基于UDP的dos多人聊天室

##後記

\qquad 現附上代碼,有空在補上内部實作的亮點與不足,有什麼問題,可以随時私信。有空可以follow下部落客的github(醜不要碧蓮,有打廣告).最後附上下載下傳連結,喜歡點贊就行。(csdn必須要c币,github免費下載下傳)

##下載下傳入口

csdn下載下傳入口

github下載下傳入口