系統(tǒng)網(wǎng)絡(luò)項目

(1)用戶注冊:

【1】 ?客戶端可以注冊

注冊信息直接寫入文件即可;也可以先寫入鏈表,再寫入文件

用戶名密碼結(jié)構(gòu)體(僅供參考):

struct ?register

{

char ?name[32];

char ?passwd[32];

int ?flag;

struct ?register ?*next;

};

(2)用戶登錄:

【1】:client端接收用戶名和密碼->存于結(jié)構(gòu)體中->將結(jié)構(gòu)體發(fā)送給server端。

【2】:server端接收client發(fā)送的結(jié)構(gòu)體->打開存儲用戶名密碼的文件->文件寫入鏈表中->遍歷鏈表驗證用戶信息。

【3】:server端驗證正確發(fā)送allow,錯誤發(fā)回deny。client端接收,allow則進入聊天,deny則跳出。

用戶名密碼結(jié)構(gòu)體(僅供參考):

sruct ?login{

char ?name[32];

char ?passwd[32];

int ?flag;

struct ?login ?*next;

};

【4】:若驗證成功,server端產(chǎn)生一個新的套接字newfd,將它與用戶名封裝于同一個結(jié)構(gòu)體中,存儲在線用戶的信息。

? 存儲在線用戶信息的結(jié)構(gòu)體(僅供參考):

struct ?online{

char ?name[32];

int ?newfd;

struct ?online ?*next;

};


(3)一對一聊天:

【1】:在一對多聊天模型中,在client端選擇發(fā)送給一個對象,即可實現(xiàn)一對一聊天。

(4)一對n人聊天:

【1】:server端向client端發(fā)送在線用戶姓名列表。

【2】:client端欲發(fā)送信息到 ?user1 ?user2 ?...(選擇自己發(fā)送信息的接收方)。

【3】:server端接收client端在【2】中發(fā)送的信息,并截取user1,user2...的用戶名,同時截取聊天正文。

【4】:server端從在線用戶信息的鏈表中查找user1,user2...的套接字描述符。

【5】:server端將聊天正文發(fā)送給client端指定的接收對象user1,user2...。

(5)發(fā)送的信息

一對一

stu1:hello

一對多

stu1:stu2:stu3:hello

(6)主要功能描述

1、注冊,是否重復(fù)注冊

2、登錄,是否重復(fù)登錄,下線后是否會重復(fù)登錄

3、聊天轉(zhuǎn)發(fā)方法

4、客戶端-服務(wù)器框架 ?多進程(多線程)-多線程( ?select)

5、上線,下線通知

6、quit ?ctrl+c ?2種退出方法

7、記錄注冊消息

8、記錄日志

9、可以是基于TCP的socket,也可以是基于UDP的socket

11、密碼隱藏或者顯示*

12、Makefile(可選)

14、上傳文件,下載文件。

15、禁言,解禁言。

16、建立群、討論組。b

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,981評論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評論 18 399
  • 大綱 一.Socket簡介 二.BSD Socket編程準(zhǔn)備 1.地址 2.端口 3.網(wǎng)絡(luò)字節(jié)序 4.半相關(guān)與全相...
    y角閱讀 2,588評論 2 11
  • 點擊查看原文 Web SDK 開發(fā)手冊 SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個完善的 IM 系統(tǒng)...
    layjoy閱讀 13,946評論 0 15
  • 不正常的人生,不正常的我,就如有了蛀蟲的牙齒,有了缺口器皿,生病了啊!所以我問山是否能挪去,海是否能填平,...
    劉絮閱讀 454評論 0 0