1、网络群聊系统简介
简单来说,这个聊天系统是参照《Linux高性能服务器编程》中有个简单的聊天系统实现的群聊功能。
服务器端负责接收客户端的消息,放到数据池中,还负责从数据池中取出数据转发给在线的客户端;
每个客户端负责发送和接收数据,还负责数据的序列化和反序列化。
2、网络群聊系统背景知识
(1)在Linux操作系统下实现,本人用的是CentOS 6.5
(2)熟悉Linux的开发环境,使用vim,g++/gcc, gdb,make/makefile, 会编写Makefile
(3) 熟悉UDP网络编程
(4)熟悉C/C++语言,以及STL容器的使用。
(5)熟悉生产者消费者模型,(本系统使用的是单消费者,单生产者)
(6)熟悉多线程编程,了解信号量
(7)了解shell编程,
(8)了解开源库jsoncpp,nucrse/ncursew
3、群聊系统的实现原理
从上图可以知道该系统的实现流程:服务器端使用生产者消费者模型,生产者从网络中拿数据存到数据池中,消费者从数据池中拿数据发送到网络中,从而达到转发的目的。
4、群聊系统系统框架
client模块:畅聊系统client上层逻辑,提供client底层通信
server模块