linux下自创网络编程聊天室(3)

本文详细介绍了在Linux下使用C/S模式构建聊天室的总体设计,包括服务器如何处理客户信息、用户注册与登录机制、链表管理链接客户、聊天记录存储以及各种聊天功能,如私信、群聊、好友管理等。客户端和服务器端的主要代码逻辑也被提及。
摘要由CSDN通过智能技术生成

总体设计

本聊天室系统采用了c/s形式。服务器主要是处理客户输入信息。首先要存储客户的个人资料,相当于注册。再有,在客户的聊天信息时,也要记录下客户的聊天记录,已备查看聊天记录所用。当然,服务器还有自己的动态数据处理。客户状态分为链接客户和非连接客户,我采用结构体存储链接客户信息,以链表来记录链接客户。而链接客户又分为登陆客户和未登陆客户,这就通过修改链表上客户的名字。当客户一链接客户服务端时,就给客户一个账号,也就是相当于注册信息,同时并发服务器一直在为连接用户创建线程。


本聊天室登陆界面

1.登录

2.注册

3.退出

登录

登录的账号必须注册,帐号密码必须匹配都对,登录的账号必须不在线

注册

注册账号id必须和已有的不同,注册时填写账号,密码以及昵称

退出

退出程序


登录成功后可以使用功能

你可以使用的功能如下\
1.查找好友

2.显示好友

3.删除好友

4.添加好友(需要先发送申请好友请求,对方同意才能添加,也有回复信息提示)

5.查看或修改个人信息

6.与好友发送私信              (不在线也能发)(消息都会有发送时候的时间显示)

7.群聊                                       (能查看当前参与群聊的有多少人,账号和昵称分别是多少)

8.与好友聊天窗口(屏幕分区输入输出)                               (屏幕上半部输出双方聊天信息,下方输入信息,类似QQ界面)

9.在线查看聊天记录

10.从服务器下载本人聊天记录

open.查看是否有新消息                                   (类似好友请求,好友私信等,如不看会保存,下次上线再次提示)

11.退出






4.添加好友功能,如果对方在线,发送消息,如果对方不在线,保存消息,对方上线再发送,直到对方选择添加或拒绝添加消息才清除


账号8与789之间演示




发送之后对方需要输入open查看信息,(也可以不看,但消息一直在)

下图是789账号的界面



同意或者不同意

对方账号能收到反馈




6.与好友发送私信

此人必须为好友



评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值