项目描述
采用网络编程技术,结合cs模型,完成一个微型qq群聊功能
技术特点
- C++ STL
- 生产者消费者模型
- 多线程技术,线程的同步与互斥
- 网络编程
- 开源jsoncpp库
- ncurses库
- 自定义协议,登录注册认证
项目原理
1.注册登录
2.聊天
项目思路
1.服务端与客户端模块
服务端:创建TCP和UDP套接字,针对每一个TCP连接, 都创建一个线程, 专门为该客户端处理注册和登陆请求, 注册和登陆完毕之后, 服务端关闭连接, 销毁线程;发送消息是UDP连接,共两个线程,一个是生产线程, 负责接收UDP数据, 将UDP数据放到消息池当中,另一个是消费线程, 负责从消息池当中获取消息, 发送到在线用户的客户端。同时服务端也起到串联用户管理模块和消息池的作用。
客户端:同样先创建套接