项目——基于UDP协议简单聊天程序
项目名称:聊天室
使用的技术
- 平台: CentOS 7, 64位操作系
- 语言: C/C++
- 编译工具: g++
- 序列化反序列化工具: jsoncpp
- 窗口设计框架: nucrse/ncurses
- 其他: 生产者消费者模型、信号量互斥机制、多线程编程、socket套接字编程
项目组成
- client模块: 畅聊系统client上层逻辑,提供client底层通信
- server模块:畅聊系统server上层逻辑,提供server底层通信
- service_com模块:畅聊系统底层公共逻辑,如数据序列化
- window模块:client窗口模块
具体模块功能
服务器端功能介绍:
(1)负责接收消息所有用户的消息
接收到用户发送消息时,就将该消息保存在一个阻塞队列中
(2)对所有在线用户进行广播消息
从阻塞队列中取出一条消息,然后更新在线好友列表,对在线所有用户发送消息
代码:
客户端功能介绍:
(1)负责向服务器发送消息
获取用户输入的消息,将数据格式化,向服务器发送消息
(2)负责接收服务器发来的消息
接收到来自服务器的消息时,就将消息保存在双端队列中,然后更新在线好友列表,显示聊天框
window模块