基于TCP的聊天系统

Posted Suk-god

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于TCP的聊天系统相关的知识,希望对你有一定的参考价值。

基于TCP的聊天系统

1、项目简介

​ 该聊天系统的设计采用了Client/Server模型,利用socket网络编程和多线程编程等相关知识开发了一款基于TCP的聊天系统,实现了客户端之间的点对点通信。

2、项目运行结果示展示

2.1项目开发环境及主要技术

​ 开发环境:CentOS 7.6,VS2019

​ 编程语言:C/C++

​ 窗口设计:MFC框架

​ 数据交换:JSON数据格式

​ 基于TCP的socket编程,使用epoll多路转接IO模型支持高并发

2.2项目成果展示

2.2.1 注册功能展示


数据库中的数据同步更新

2.2.2 登陆功能展示

2.2.3 添加好友功能展示

2.2.4 聊天功能展示

这里采用录屏的方式进行展示,前提准备如下:
1、有三个用户,他们三个人之间互为好友
2、三人同时在线聊天
3、每个用户的默认聊天窗口展示的聊天信息是自己好友列表的第一个人的聊天信息
4、三人互相发消息,检验能否正常收发成功

聊天过程展示

3、项目结构展示

3.1 服务端结构展示

1、服务端模块划分图
网络通信模块:主要负责接收客户端的新连接、监控文件描述符,接收数据、发送应答等工作
业务处理模块:针对通信模块接收到的数据按照数据类型进行相应的处理,并将处理的结果返还给发送队列
用户管理模块:针对需要处理的各种业务封装了一些功能性接口,这些接口暴露给业务处理模块供其调用
数据库模块:为用户管理模块提供数据存储接口,将上层业务产生的数据持久化到数据库中
2、服务端消息流转图

3.2 客户端结构展示

1、登录注册消息流转图

2、添加好友消息流转图

3、发送消息流转图

以上是关于基于TCP的聊天系统的主要内容,如果未能解决你的问题,请参考以下文章

基于TCP的聊天系统

Java网络编程基础— 基于TCP的NIO简单聊天系统

基于TCP的网络聊天系统

基于TCP的聊天系统

Java网络编程基础---基于TCP的简单聊天系统

基于java TCP实现网络通信聊天室《建议收藏附完整源码》