• 基于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、发送消息流转图
    在这里插入图片描述

    4、项目测试

  • 相关阅读:
    WebRTC系列 -- iOS 音频采集
    职业PDF标准 Python 下载器-CSDN
    Java多线程详解
    02 视频或语音转文本
    我们来谈谈什么是架构
    GNSS全球卫星导航系统相关技术
    静电模型PIC方法的Matlab仿真设计
    python调用seafile接口上传文件到seafile
    DJYGUI系列文章十一:GDD矩形区域运算
    PIE-engine 教程 ——动态展示全国2000-2020年人口变化信息
  • 原文地址:https://blog.csdn.net/Suk_god/article/details/126134155