1. Posted on 2026-01-03 | In C++

    📌 问题概述

    这段代码在高并发场景下会发生死锁,原因是不合理的 FOR UPDATE 查询 结合后续的 INSERT 操作,导致间隙锁、插入意向锁之间的冲突。

    Read more »
  2. Posted on 2025-11-13 | In C++

    独立网络线程

    实现断点续传,需要配合队列缓存客户端要上传的数据,网络线程从队列中一条一条的取出任务上传。

    Read more »
  3. Posted on 2026-01-03 | In C++

    增加上传可视化进度

    之前我们传输图片的时候,只能通过服务器查看上传进度。客户端无法感知上传进度,所以考虑在图片传输基础上,显示上传进度。

    Read more »
  4. Posted on 2026-01-03 | In C++

    📋 教学目标

    • 理解TCP粘包问题的本质
    • 掌握QDataStream的工作机制
    • 识别并解决QDataStream读取位置错乱问题
    • 学会编写健壮的网络数据解析代码

    一、问题背景

    1.1 业务场景

    客户端向服务器发送文件上传请求,服务器返回响应。消息格式如下:

    Read more »
  5. Posted on 2026-01-03 | In C++

    前言

    前面实现了聊天信息的存储和加载,以及实现了一些资源的上传和下载。

    Read more »

热门文章

  1. Linux环境搭建和编码

    喜欢(594) 浏览(15945)
  2. 使用hexo搭建个人博客

    喜欢(533) 浏览(14371)
  3. MarkDown在线编辑器

    喜欢(514) 浏览(16294)
  4. vscode搭建windows C++开发环境

    喜欢(596) 浏览(100577)
  5. 聊天项目(28) 分布式服务通知好友申请

    喜欢(507) 浏览(7366)

最新评论

  1. 解决博客回复区被脚本注入的问题 secondtonone1:走到现在我忽然明白一个道理,无论工作也好生活也罢,最重要的是开心,即使一份安稳的工作不能给我带来事业上的积累也要合理的舍弃,所以我还是想去做喜欢的方向。
  2. 处理网络粘包问题 zyouth: //消息的长度小于头部规定的长度,说明数据未收全,则先将部分消息放到接收节点里 if (bytes_transferred < data_len) { memcpy(_recv_msg_node->_data + _recv_msg_node->_cur_len, _data + copy_len, bytes_transferred); _recv_msg_node->_cur_len += bytes_transferred; ::memset(_data, 0, MAX_LENGTH); _socket.async_read_some(boost::asio::buffer(_data, MAX_LENGTH), std::bind(&CSession::HandleRead, this, std::placeholders::_1, std::placeholders::_2, shared_self)); //头部处理完成 _b_head_parse = true; return; } 把_b_head_parse = true;放在_socket.async_read_some前面是不是更好
  3. C++ 线程池原理和实现 mzx2023:两种方法解决,一种是改排序算法,就是当线程耗尽的时候,使用普通递归,另一种是当在线程池commit的时候,判断线程是否耗尽,耗尽的话就直接当前线程执行task
  4. 利用指针和容器实现文本查询 越今朝:应该添加一个过滤功能以解决部分单词无法被查询的问题: eg: "I am a teacher."中的teacher无法被查询,因为在示例代码中teacher.被解释为一个单词从而忽略了teacher本身。
  5. 无锁并发队列 TenThousandOne:_head  和 _tail  替换为原子变量。那里pop的逻辑,val = _data[h] 可以移到循环外面吗

个人公众号

个人微信