国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統(tǒng) > 正文

多功能聊天室-項目規(guī)劃實現(xiàn)圖

2024-06-28 13:24:43
字體:
供稿:網(wǎng)友
多功能聊天室-項目規(guī)劃實現(xiàn)圖

網(wǎng)絡編程項目規(guī)劃

最近在練習一個項目吧,大概給6天的時間來完成它,其中涉及到了數(shù)據(jù)庫的知識,網(wǎng)絡編程,linux C等等,大考驗的時刻到了!我知道PM們的項目規(guī)劃圖絕對比我的高大上,但是咱也不能沒有自信對不?因此,我開始先分析我的項目它有什么功能需求,需求分析完成了,OK,那么項目應該大體上,又是靠什么來實現(xiàn)的呢?這是一個最值得深究的問題!又有人說,那不是得用代碼來實現(xiàn)嗎?等等,那樣你得寫到什么時候?因而我們絕對不是先用代碼去實現(xiàn)功能,而是把功能提取出來,了解他實現(xiàn)的過程!重要的是什么?嘿嘿,讓我來告訴大家,最重要的是數(shù)據(jù)的協(xié)議,沒有好的數(shù)據(jù)協(xié)議,我們將會面臨的是無盡的BUG,因而協(xié)議是本文最終目的,當然非常希望大家通過留言,或者發(fā)郵件的方式來指出更加優(yōu)化的地方,可以共同進步才是真的牛人!

附上我的郵箱:samuel_wnb@live.com

功能需求:

1、注冊

2、登陸

3、查看登陸用戶

4、私聊

5、群發(fā)信息

6、客戶端退出保存數(shù)據(jù)

7、服務器要備份數(shù)據(jù)

8、root權限

踢出聊天室

禁言

解禁

注銷

9、客戶端發(fā)送表情

10、添加常用語

以上是我項目的功能,下面是我對功能的具體分析,涉及到網(wǎng)絡編程,嗯,在做項目的過程中,想辦法抽出一定時間來寫一些關于調(diào)用網(wǎng)絡的API的博文,希望大家到時關注,當然我會將我所做的項目公之于眾,開源的

  1. 注冊:
    1. C :獲取用戶名&密碼&cmd
    2. Send struct server
    3. S :Check msg

      檢查數(shù)據(jù)庫,有重名 返回0

      檢查數(shù)據(jù)庫,可注冊 返回1

  1. 登陸:
    1. C :獲取用戶名&密碼&cmd
    2. Send struct server

3、S :Check msg

檢查數(shù)據(jù)庫,無此用戶 返回0

檢查數(shù)據(jù)庫,有此用戶 (1)、匹配密碼,不正確 返回1 (2)、正確返回2

  1. 查看登陸用戶:
    1. C :獲取cmd
    2. 向server發(fā)送cmd
    3. Server 發(fā)送 return 用戶數(shù)
    4. S 向 C寫 用戶名 寫 用戶數(shù) 次數(shù)
    5. C向S讀 用戶名 讀 用戶數(shù) 次數(shù)

  2. 私聊

    1、C :寫入 name 寫入 toname msg

    2、send data to server

    3、S:尋找toname 和在線情況 在線 且名字正確 返回 1

    不在線 返回 0

    查無此人 返回 -1

    1. S:根據(jù)數(shù)據(jù)庫所得 向toname發(fā)送 該數(shù)據(jù)協(xié)議

  1. 群發(fā)

    1、C :寫入 name msg

    2、send data to server

    3、S:對比現(xiàn)在在線用戶 發(fā)送信息

  2. 保存數(shù)據(jù)

    Sqlite3數(shù)據(jù)庫

    二維表關系

    chatdata

Id

名字

聊天記錄

User

Id

用戶名

密碼

Online

Id

用戶名

套接字

是否禁言

Serverdata

Id

登陸時間

  1. Root

    踢出聊天室 從online 刪除

    禁言 寫判斷 每次登陸都要測試是否被禁言

    解禁 寫禁言命令

    注銷 直接從user 刪除 除非再注冊

  2. 客戶端發(fā)送表情和添加常用語

    跟私聊一樣!

    經(jīng)過上面的分析于是我決定使用下面我自己的數(shù)據(jù)結(jié)構體

數(shù)據(jù)協(xié)議

Struct message

{

Char name[100];//用戶名

Char passwd[100];//密碼

Int cmd; //命令

Int revert;//返回值

Char toname[100];//私聊對象

Char msg[100];//私聊內(nèi)容

Int sockfd;//socket客戶端套接字

};


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 孝感市| 肇庆市| 察哈| 安陆市| 卢氏县| 延川县| 吉木萨尔县| 彩票| 凤城市| 辰溪县| 察哈| 濮阳市| 莱西市| 内乡县| 综艺| 隆安县| 广宗县| 荔浦县| 鄯善县| 荣昌县| 诏安县| 美姑县| 曲阳县| 盐亭县| 通渭县| 福海县| 阳曲县| 横山县| 盘锦市| 黄龙县| 任丘市| 姚安县| 册亨县| 宿迁市| 白银市| 陇川县| 上林县| 沾化县| 吉林市| 巴东县| 安化县|