集群聊天项目

不懂的一些东西

(const TcpConnectionPtr&)作为形参啥意思:接收一个常量引用,函数内部不允许修改该指针所指向的对象。

客户端与服务器如何联系?

优势

1.网络层与业务层分离:通过网络层传来的id,设计一个map存储id以及对印的业务处理器,处理器bind绑定处理函数,直接分离根据id调用业务即可

2.这里传入的是user对象而不是sql语句,很方便集群聊天项目_第1张图片

概述

网络层---业务层---数据层

mudou库和libevent二选一

流程:客户端输入,整理成json发送给服务器,服务器运用了moduo网络库,客户端send触发muduo,服务器初始化了绑定器,根据客户端发来的信息决定用哪些回调函数。(这里特色是public.hpp,即让客户端输入msgid=1,服务器触发)

集群聊天项目_第2张图片

集群聊天项目_第3张图片

集群聊天项目_第4张图片

JSON介绍

集群聊天项目_第5张图片

集群聊天项目_第6张图片

集群聊天项目_第7张图片

集群聊天项目_第8张图片

muduo网络库

集群聊天项目_第9张图片

回声服务器

集群聊天项目_第10张图片

集群聊天项目_第11张图片

集群聊天项目_第12张图片

集群聊天项目_第13张图片

集群聊天项目_第14张图片

客户端实现

集群聊天项目_第15张图片

集群聊天项目_第16张图片

muduo中的线程池做计算任务

集群聊天项目_第17张图片

moduo网络库的多线程模型

网络服务器模型

集群聊天项目_第18张图片

集群聊天项目_第19张图片

moduo中的reactor模型

集群聊天项目_第20张图片

集群聊天项目_第21张图片

cmake

项目数据库以及表的设计

集群聊天项目_第22张图片

集群聊天项目_第23张图片

集群聊天项目_第24张图片

集群项目聊天工程目录创建

集群聊天项目_第25张图片

集群聊天项目_第26张图片

集群聊天项目_第27张图片

集群聊天项目_第28张图片

网络模块代码

集群聊天项目_第29张图片

集群聊天项目_第30张图片

你可能感兴趣的:(服务器,运维)