聊天室项目

网络编程项目要求
一、 实现目标 
一个在 Linux 下可以使用的聊天软件,要求至少实现如下功能:
1. 采用 Client/Server 架构
2. Client A 登陆聊天服务器前,需要注册自己的 ID 和密码
3. 注册成功后,Client A 就可以通过自己的 ID 和密码登陆聊天服务器
4. 多个 Client X 可以同时登陆聊天服务器之后,与其他用户进行通讯聊天
5. Client A 成功登陆后可以查看当前聊天室内其他在线用户 Client x
6. Client A 可以选择发消息给某个特定的 Client X,即”悄悄话”功能
7. Client A 可以选择发消息全部的在线用户,即”群发消息”功能
8. Client A 在退出时需要保存聊天记录
9. Server 端维护一个所有登陆用户的聊天会的记录文件,以便备查
可以选择实现的附加功能: 
1. Server 可以内建一个特殊权限的账号 admin,用于管理聊天室
2. Admin 可以将某个 Client X “提出聊天室”
3. Admin 可以将某个 Client X ”设为只能旁听,不能发言”
4. Client 端发言增加表情符号,可以设置某些自定义的特殊组合来表达感
情.如输入:),则会自动发送”XXX 向大家做了个笑脸”

5. Client 段增加某些常用话语,可以对其中某些部分进行”姓名替换”。


这次项目可以用TCP/UDP/SELECT通信协议完成,最后同组成员选择了TCP,我就选择了用UDP来实现。


项目分析: 
1.需要创建一个数据库用来保存用户的账号,密码,昵称会员标志位等信息,昵称是为了聊天时寻找对象使用; 
2.创建一个在线用户的链表,保存在线用户的信息。 
3.创建一个结构体用来保存发送的信息,包括通信协议,昵称,端口号,聊天内容等等…… 
4.使用UDP来写代码时,服务器并不需要创建线程,服务器会对所有的端口号进行检测,发现有状况发生时,立即响应处理。 
5.在进行聊天时,要将所有的信息保存在文件中,作为聊天记录,在收到与发送的位置对文件进行读写操作即可。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值