畅聊系统

本文介绍了使用C++、STL、多线程技术、网络编程、jsoncpp库和ncurses库实现的一个微型QQ群聊系统。系统包括注册登录、聊天功能,采用生产者消费者模型,消息池模块使用vector和互斥锁+条件变量确保线程安全。项目源码托管在GitHub,未来计划扩展登出功能并集成数据库。
摘要由CSDN通过智能技术生成

项目描述
采用网络编程技术,结合cs模型,完成一个微型qq群聊功能

技术特点

  1. C++ STL
  2. 生产者消费者模型
  3. 多线程技术,线程的同步与互斥
  4. 网络编程
  5. 开源jsoncpp库
  6. ncurses库
  7. 自定义协议,登录注册认证

项目原理
1.注册登录
在这里插入图片描述
2.聊天
在这里插入图片描述
项目思路
1.服务端与客户端模块
服务端:创建TCP和UDP套接字,针对每一个TCP连接, 都创建一个线程, 专门为该客户端处理注册和登陆请求, 注册和登陆完毕之后, 服务端关闭连接, 销毁线程;发送消息是UDP连接,共两个线程,一个是生产线程, 负责接收UDP数据, 将UDP数据放到消息池当中,另一个是消费线程, 负责从消息池当中获取消息, 发送到在线用户的客户端。同时服务端也起到串联用户管理模块和消息池的作用。
客户端:同样先创建套接

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值