12 2023 档案

摘要:项目问题汇总 一、客户端消息如何按序显示? ​ 先讲用时间戳来解决的缺点,再讲用序列号实现。 ​ 每一条消息添加序列号seq 二、怎么保证消息的可靠传输 业务层实现消息确认机制 为什么tcp的消息确认机制不能保证消息可靠传输 三、这个项目中,除了使用redis,你还知道其它组件吗?能完成同样的功能吗 阅读全文
posted @ 2023-12-31 22:52 桂洛克船长 阅读(25) 评论(0) 推荐(0)
摘要:一、什么是nginx? ​ Nginx(发音为“engine-x”)是一个高性能的开源 Web 服务器和反向代理服务器,也可以作为负载均衡器、HTTP缓存以及安全防护等。它最初由俄罗斯的程序设计师Igor Sysoev在2004年创建。 ​ 相比传统的 Apache 服务器,Nginx 采用了更加轻 阅读全文
posted @ 2023-12-22 22:11 桂洛克船长 阅读(60) 评论(0) 推荐(0)
摘要:一、redis简介 ​ Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,常用作数据库、缓存和消息中间件。它以高性能和丰富的数据结构支持而闻名,提供了字符串、哈希表、列表、集合、有序集合等多种数据结构。 ​ Redis主要特点包括: 内存存储:Redis 阅读全文
posted @ 2023-12-22 12:52 桂洛克船长 阅读(25) 评论(0) 推荐(0)
摘要:客户端如何处理注销登录问题? 问题描述: ​ 在客户端登录后进行注销选择,然后重新登录刚才注销的账号,直接卡死。注意这是概率发生,因为是主线程和子线程抢服务器发送的信息,只有子线程抢到才会发生卡死 问题产生原因分析: ​ 前置条件:主线程循环等待用户输入选择(第一张图是死循环,send后立马recv 阅读全文
posted @ 2023-12-20 11:23 桂洛克船长 阅读(41) 评论(0) 推荐(0)
摘要:一、引入redis队列 ​ 在上一篇博客里我们已经为服务器配置了基于nginx的tcp负载均衡,提高了服务器的并发量,但是相应的之前也会存在一个问题,那就是多个客户端可能连接在不同的服务器,那这几个客户端如何通信呢?这就需要引入这次的内容:redis中间件,我们通过redis来作为一个中间消息转发者 阅读全文
posted @ 2023-12-16 21:34 桂洛克船长 阅读(51) 评论(0) 推荐(0)
摘要:一、客户端开发 代码如下: #include "json.hpp" #include <iostream> #include <thread> #include <string> #include <vector> #include <chrono> #include <ctime> #includ 阅读全文
posted @ 2023-12-10 20:46 桂洛克船长 阅读(45) 评论(0) 推荐(0)
摘要:第一章 一、什么是人工智能? ​ 模拟、延申、和拓展人类技能。 强人工智能:具备与人类同等或者超越人类智慧,能根据自己意图展开行动。 弱人工智能:面向特定的问题或任务,根据人类的经验知识,达到模拟人的效果。 应用领域:计算机视觉、自然语言处理NLP、人机博弈、认知推理等。 主要软件技术:数据采集技术 阅读全文
posted @ 2023-12-09 17:13 桂洛克船长 阅读(95) 评论(0) 推荐(0)
摘要:一、创建一个仓库 ​ 想要上传项目代码到github我们首先需要有一个GitHub账号,具体怎么注册自行搜索,然后我们需要创建一个仓库如图: ​ 如图我们创建一个公共仓库,写完名字,描述,和增加一个readme文件 二、密钥 ​ 直接使用命令后面是你的注册邮箱,选项直接回车就好。 ssh-keyge 阅读全文
posted @ 2023-12-02 18:25 桂洛克船长 阅读(468) 评论(0) 推荐(0)
摘要:一、服务器异常处理函数 ​ 这部分主要处理服务器异常退出时,用户的在线状态还是online不会改变,因此需要修改。由于是需要对用户进行操作,因此我们在user表的数据操作类添加重置用户状态函数。 ​ 在usermodel.hpp添加后: #ifndef USERMODEL_ #define USER 阅读全文
posted @ 2023-12-01 21:22 桂洛克船长 阅读(38) 评论(0) 推荐(0)