![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集群聊天服务器
文章平均质量分 85
在 Linux 环境下基于 muduo 开发的集群聊天服务器。项目中实现新用户注册、用户登录、添加好友、添加群组、好友通信、群组聊天、显示离线消息等功能,项目中使用了json,redis,nginx组件。
吃我一个平底锅
这个作者很懒,什么都没留下…
展开
-
[集群聊天服务器]----(十一) 使用Redis实现发布订阅功能
接着上文,,我们配置nginx,使用了多台服务端来提高单机的并发量,接下来我们回到项目中,思考一下,各个服务端之间怎么进行通信呢?原创 2024-05-28 07:58:47 · 1286 阅读 · 0 评论 -
[集群聊天服务器]----(十)Nginx的tcp负载均衡配置--附带截图
接着上文,我们剖析了服务端和客户端的代码,但是单台服务器的并发量是有限的,面对并发量的要求,我们就需要引入Nginx来实现并发量的要求,将用户请求分发到不同的服务器上分担压力,这就是负载均衡。原创 2024-05-28 07:57:14 · 484 阅读 · 0 评论 -
[集群聊天服务器]----(九)客户端开发
接着上文的开发,项目真正操作,还需要客户端进行相关操作的,接下来我们剖析客户端的实现。原创 2024-05-27 07:56:54 · 633 阅读 · 0 评论 -
[集群聊天服务器]----(八)群组类、群组操作接口以及业务模块之创建群组,加入群组以及群组聊天
接着上文关于的剖析。本章将对创建群组,加入群组以及群组聊天业务进行剖析。原创 2024-05-27 07:54:18 · 599 阅读 · 0 评论 -
[集群聊天服务器]----(七)业务模块之一对一聊天、添加好友函数、好友类以及离线消息类
接着中对于业务模块的用户注册、登录、退出以及客户端异常退出函数的剖析,现在我们对点对点聊天以及添加好友的实现进行剖析。原创 2024-05-26 08:31:04 · 612 阅读 · 0 评论 -
[集群聊天服务器]----(六)业务模块之用户注册、登录、退出以及客户端异常退出函数
接着,接下来我们对业务模块用户注册、登录、退出以及客户端异常退出回调函数进行剖析。原创 2024-05-26 08:29:54 · 1001 阅读 · 0 评论 -
[集群聊天服务器]----(五)User类、UserModel类
接着上文,接下来我们对User类、UserModel类进行剖析,User表和UserModel类是项目最基本也是最重要的部分,通过它我们对用户的id,用户名,密码,状态相关信息进行存储,也决定了登录成功与否以及后续的聊天等内容。原创 2024-05-25 08:00:37 · 895 阅读 · 0 评论 -
[集群聊天服务器]----(四)MySQL数据库模块
上一节我们对网络模块和业务模块进行了解耦,封装了回调函数。在项目中需要使用mysql数据库进行存储用户重要数据,并进行增删改查操作。,所以这一节我们对mysql的封装使用进行剖析,这里使用db类进行封装。原创 2024-05-25 07:59:22 · 834 阅读 · 0 评论 -
[集群聊天服务器]----(三)ChatService模块,解耦网络模块和业务模块
接着上一节的剖析,我们发现需要对网络模块和业务模块进行解耦,引入了ChatService类,接下来我们来看一下业务模块ChatService类具体做了什么。原创 2024-05-24 07:59:11 · 312 阅读 · 0 评论 -
[集群聊天服务器]----(二)利用muduo网络库实现网络模块ChatServer
muduo 是由陈硕大佬个人开发的 TCP 网络库,有关于muduo网络库本人使用C++对muduo库的核心部分进行了重构,并且对每一个模块进行剖析介绍(详情见muduo网络库专栏),在使用muduo编写网络模块ChatServer之前,一定要对muduo网络库有一定的基本了解并且要对muduo网络库的基本使用有一定的了解。muduo 的线程模型为「one loop per thread + threadPool」模型。原创 2024-05-24 07:57:29 · 910 阅读 · 0 评论 -
[集群聊天服务器]----(一)项目简介
从网络模块接收数据,根据 msgid 定位到注册模块。从传递过来的 json 对象中获取用户 ID 和用户密码。并以此生成 User 对象,调用 model 层方法将新生成的 User 插入到数据库中。原创 2024-05-23 08:13:54 · 1262 阅读 · 0 评论