最新资讯

  • C++仿muduo库高并发服务器项目:TcpServer模块

C++仿muduo库高并发服务器项目:TcpServer模块

2026-01-30 12:26:21 栏目:最新资讯 0 阅读

前言

本篇文章所讲的是本人的个人项目仿muduo库高并发服务器中的TcpServer模块实现部分。

TcpServer模块介绍:

功能概述
  1. 设置从属线程池数量。
  2. 启动服务器。
  3. 设置多种回调函数(连接建立完成、消息、关闭、任意等),用户设置给 TcpServerTcpServer 再设置给获取的新连接。
  4. 选择是否启动非活跃连接超时销毁功能。
  5. 具备添加定时任务功能。
流程
  1. TcpServer 中实例化 Acceptor 对象和 EventLoop 对象(baseloop)。
  2. Acceptor 挂到 baseloop 上进行事件监控。
  3. Acceptor 对象就绪可读事件时,执行读事件回调函数获取新建连接。
  4. 对新连接,创建 Connection 进行管理。
  5. 对连接对应的 Connection 设置功能回调(连接完成回调、消息回调、关闭回调、任意事件回调)。
  6. 启动 Connection 的非活跃连接的超时销毁规则。
  7. 将新连接对应的 Connection 挂到 LoopThreadPool 中的从属线程对应的 EventLoop 中进行事件监控。
  8. 一旦 Connection 对应的连接就绪了可读事件,则执行读事件回调函数,读取数据,读取完毕后调用 TcpServer 设置的消息回调。
成员介绍

成员变量

uint64_t _next_id

  • 作用 :这是一个全局自增的计数器。
  • 用途 :每当有一个新连接到来时, _next_id 会加 1,作为这个新连接的唯一 ID ( conn_id )。这用于在 _conns 哈希表中唯一标识和查找连接。

int _port

  • 作用 :服务器监听的端口号。

int _timeout

  • 作用 :非活跃连接的超时时间(单位:秒)。
  • 用途 :如果启用了非活跃销毁功能,当连接在 _timeout 秒内没有任何读写事件发生时,服务器会自动断开该连接。

bool _enable_inactive_release

  • 作用 :功能开关。
  • 用途 :标记是否开启了“非活跃连接自动销毁”功能。

EventLoop _baseloop

  • 作用 : 主 Reactor(Main Loop) 。
  • 用途 :这是运行在主线程中的事件循环。它 只负责 一件事情:监听监听套接字(ListenFd)的事件,也就是处理新用户的连接请求。一旦接受连接,它就会把新连接分发给线程池中的从 Reactor。

Acceptor _acceptor

  • 作用 :连接接受器。
  • 用途 :它内部封装了监听 Socket。它运行在 _baseloop 中,当有新连接到来时,它会执行 accept 系统调用拿到文件描述符,然后调用 TcpServer::NewConnection 回调函数。

LoopThreadPool _pool

  • 作用 : 从 Reactor 线程池(Sub Loops) 。
  • 用途 :管理一组 IO 线程,每个线程运行一个 EventLoop 。当 _baseloop 接收到新连接后,会通过 _pool 选择一个 IO 线程,将新连接交给它管理。

std::unordered_map _conns

  • 作用 :连接容器。
  • 用途 :保存服务器当前所有活跃连接的智能指针 ( shared_ptr )。
  • 关键点 :这是服务器持有连接生命周期的地方。只要连接在这个 map 中,它的引用计数就不为 0,就不会被析构。当连接关闭时,从这里移除,引用计数归零,连接自动销毁。

回调函数对象 ( _connected_callback , _message_callback , _closed_callback , _event_callback )

  • 作用 :保存用户注册的业务逻辑。
  • 用途 :当新连接创建时,这些回调会被传递给 Connection 对象。

成员函数

void NewConnection(int fd)

  • 触发时机 :当 Acceptor 检测到新连接请求并成功执行 accept 后调用。
  • 逻辑流程 :
    1. _next_id++ :生成新连接 ID。
    2. _pool.NextLoop() :从线程池中轮询选出一个 EventLoop (负载均衡)。
    3. new Connection(…) :创建新连接对象,绑定到选定的 Loop 和 fd 上。
    4. 配置连接 :将用户设置的各种回调函数(OnMessage, OnClose 等)传递给这个新连接。
    5. 设置内部关闭回调 :这是关键一步,当连接断开时,Connection 对象会回调这个函数,通知 TcpServer 从 _conns 中移除自己。
    6. 启动超时销毁 :如果 _enable_inactive_release 为真,开启连接的定时器。
    7. 初始化 :调用 conn->Established() ,正式开启读事件监控。
    8. 存储 : _conns.insert(…) ,将连接放入 map 中管理。

void RemoveConnection(const PtrConnection& conn)

  • 触发时机 :当 Connection 检测到连接断开(对端关闭或错误)并执行清理流程时调用。
  • 作用 :它只是一个跳板,为了线程安全,它调用 _baseloop.RunInLoop 将实际的删除操作调度到主线程执行。

void RemoveConnectionInLoop(const PtrConnection& conn)

  • 执行环境 :主线程 ( _baseloop )。
  • 逻辑 :根据连接 ID 从 _conns map 中删除对应的 Connection 对象。
  • 结果 : shared_ptr 引用计数减 1。如果此时没有其他地方引用该连接(通常情况),连接对象就会被析构,从而释放 Socket 资源。

void RunAfterInLoop(const Functor task, int delay)

  • 作用 :在主循环中添加定时任务的辅助函数。

TcpServer(int port)

  • 构造函数 :
    1. 初始化端口。
    2. 初始化 _acceptor ,传入 _baseloop 和端口。
    3. 初始化 _pool ,传入 _baseloop 。
    4. 关键绑定 : _acceptor.SetAcceptCallback(…) ,将 TcpServer::NewConnection 绑定为接受连接的回调。
    5. _acceptor.Listen() :立即开始监听端口(此时还没有开始事件循环)

void SetThreadCount(int count)

  • 作用 :设置 IO 线程的数量。
  • 说明 :
    • count = 0 :单线程模式。所有连接的 IO 操作都在主线程 ( _baseloop ) 中处理。
    • count > 0 :多线程模式。主线程只负责 Accept, count 个子线程负责处理连接 IO。

void Start()

  • 作用 :启动服务器。
  • 逻辑 :
    1. _pool.Create() :创建并启动所有 IO 线程。
    2. _baseloop.Start() :主线程开始进入 epoll_wait 事件循环,正式开始工作。这是一个死循环,函数调用后不会返回。

源代码:

class TcpServer
{
private:
    uint64_t _next_id;                                      //自动增长的连接ID
    int _port;
    int _timeout;                                           //超时时间
    bool _enable_inactive_release;                          //是否启用非活跃销毁
    EventLoop _baseloop;                                    //主线程的EventLoop对象,负责监听事件的处理
    Acceptor _acceptor;                                     //监听套接字管理对象
    LoopThreadPool _pool;                                   //从属EventLoop线程池
    std::unordered_map _conns;      //保存管理所有连接对应的shared_ptr对象

private:
    using ConnectedCallback = std::function;
    using MessageCallback = std::function;
    using ClosedCallback = std::function;
    using AnyEventCallback = std::function;
    using Functor = std::function;
    ConnectedCallback _connected_callback;
    MessageCallback _message_callback;
    ClosedCallback _closed_callback;
    AnyEventCallback _event_callback;

    //为新连接构造一个Connnection进行管理
    void NewConnection(int fd)
    {
        _next_id++;
        PtrConnection conn(new Connection(_pool.NextLoop(), _next_id, fd));
        conn->SetMessageCallback(_message_callback);
        conn->SetClosedCallback(_closed_callback);
        conn->SetConnectedCallback(_connected_callback);
        conn->SetAnyEventCallback(_event_callback);
        conn->SetSrvClosedCallback(std::bind(&TcpServer::RemoveConnection,this,conn));
        if(_enable_inactive_release) conn->EnableInactiveRelease(_timeout);//启动非活跃超时销毁
        conn->Established();//就绪初始化
        _conns.insert(std::make_pair(_next_id, conn));
    }
    void RemoveConnectionInLoop(const PtrConnection& conn)
    {
        uint64_t id = conn->Id();
        auto it = _conns.find(id);
        if(it != _conns.end())
        {
            _conns.erase(it);
        }
    }
    //从_conns中移除连接信息
    void RemoveConnection(const PtrConnection& conn)
    {
        _baseloop.RunInLoop(std::bind(&TcpServer::RemoveConnectionInLoop,this,conn));
    }
    void RunAfterInLoop(const Functor task,int delay)
    {
        _next_id++;
        _baseloop.TimerAdd(_next_id,delay,task);
    }

public:
    TcpServer(int port)
        :_port(port)
        ,_next_id(0)
        ,_enable_inactive_release(false)
        ,_acceptor(&_baseloop,port)
        ,_pool(&_baseloop)
    {
        _acceptor.SetAcceptCallback(std::bind(&TcpServer::NewConnection,this,std::placeholders::_1));
        _acceptor.Listen();//将监听套接字挂在baseloop上
    }
    //设置线程池数量
    void SetThreadCount(int count)
    {
        _pool.SetThreadCount(count);
    }
    void SetConnectedCallback(const ConnectedCallback&cb)
    {
        _connected_callback = cb;
    }
    void SetMessageCallback(const MessageCallback&cb)
    {
        _message_callback = cb;
    }
    void SetClosedCallback(const ClosedCallback&cb)
    {
        _closed_callback = cb;
    } 
    void SetAnyEventCallback(const AnyEventCallback&cb)
    {
        _event_callback = cb;
    }
    //添加定时任务
    void RunAfter(const Functor task,int delay)
    {
        _baseloop.RunInLoop(std::bind(&TcpServer::RunAfterInLoop,this,task,delay));
    }
    //启动非活跃销毁
    void EnableInactiveRelease(int timeout)
    {
        _timeout = timeout;
        _enable_inactive_release = true;
    }
    void Start()
    {
        _pool.Create();
        _baseloop.Start();
    }
};

本文地址:https://www.yitenyun.com/3226.html

搜索文章

Tags

#ios面试 #ios弱网 #断点续传 #ios开发 #objective-c #ios #ios缓存 #服务器 #python #pip #conda #远程工作 香港站群服务器 多IP服务器 香港站群 站群服务器 #kubernetes #笔记 #平面 #容器 #linux #学习方法 #运维 #进程控制 #fastapi #html #css #低代码 #爬虫 #音视频 #docker #后端 #数据库 #cpolar #Conda # 私有索引 # 包管理 #开源 #开发语言 #云原生 #iventoy #VmWare #OpenEuler #人工智能 #node.js #MobaXterm #ubuntu #内网穿透 #网络 #RTP over RTSP #RTP over TCP #RTSP服务器 #RTP #TCP发送RTP #android #腾讯云 #c# #物联网 #websocket #vscode #mobaxterm #深度学习 #计算机视觉 #tcp/ip #多个客户端访问 #IO多路复用 #回显服务器 #TCP相关API #web安全 #学习 #安全 #kylin #数信院生信服务器 #Rstudio #生信入门 #生信云服务器 #Trae #IDE #AI 原生集成开发环境 #Trae AI #claude #华为 #ModelEngine #金融 #大模型 #mcp #金融投资Agent #Agent #windows #github #git #n8n #本地部署 #hadoop #hbase #hive #zookeeper #spark #kafka #flink #qt #C++ #我的世界服务器搭建 #minecraft #java #jar #nginx #unity #游戏引擎 #面试 #性能优化 #缓存 #MCP #MCP服务器 #gemini #gemini国内访问 #gemini api #gemini中转搭建 #Cloudflare #NPU #CANN #vue.js #前端 #vue #阿里云 #DisM++ # GLM-4.6V # 系统维护 #京东云 #gpu算力 #算法 #JumpServer #堡垒机 #振镜 #振镜焊接 #云计算 #我的世界 #SRS #流媒体 #直播 #unity3d #游戏 #服务器框架 #Fantasy #http #c++ #ssh #守护进程 #复用 #screen #umeditor粘贴word #ueditor粘贴word #ueditor复制word #ueditor上传word图片 #智能手机 #mamba #科技 #自然语言处理 #神经网络 #jenkins #需求分析 #scala #测试用例 #测试工具 #压力测试 #todesk #Dell #PowerEdge620 #内存 #硬盘 #RAID5 #架构 #自动化 #apache #risc-v #嵌入式硬件 #php #centos #运维开发 #stm32 #macos #mysql #flask #ide #AI编程 #mvp #个人开发 #设计模式 #GPU服务器 #8U #硬件架构 #pycharm #智能路由器 #单元测试 #集成测试 #udp #5G #编辑器 #SAP #ebs #metaerp #oracle ebs #C2000 #TI #实时控制MCU #AI服务器电源 #DeepSeek #蓝耘智算 #大数据 #搜索引擎 #Anaconda配置云虚拟环境 #网络协议 #YOLOFuse # Base64编码 # 多模态检测 #RustDesk #IndexTTS 2.0 #本地化部署 #Nacos #web #微服务 #毕业设计 #车辆排放 #ms-swift # 大模型 # 模型训练 #Android #Bluedroid #AI #工具集 #oracle #910B #golang #rdp #PyTorch # Triton # 高并发部署 #libosinfo #SSH反向隧道 # Miniconda # Jupyter远程访问 #c语言 #java-ee #sql #单片机 #jmeter #功能测试 #软件测试 #自动化测试 #职场和发展 #Dify #ARM架构 #鲲鹏 #EMC存储 #存储维护 #NetApp存储 #NAS #Termux #Samba #Linux #经验分享 #rust #fpga开发 #鸭科夫 #逃离鸭科夫 #鸭科夫联机 #鸭科夫异地联机 #开服 #分布式 #北京百思可瑞教育 #百思可瑞教育 #北京百思教育 #javascript #json #ping通服务器 #读不了内网数据库 #bug菌问答团队 # 一锤定音 # 大模型微调 #deepseek #adb #jvm #程序员 #大模型教程 #AI大模型 #大模型学习 #mcu #vllm #cpp #项目 #高并发 #CUDA #Triton #机器学习 #数据分析 #推荐算法 #客户端 #shell #网络安全 #渗透测试 #黑客技术 #计算机 #文件上传漏洞 #debian #dify #spring boot #部署 #A2A #GenAI #语言模型 #昇腾300I DUO #fiddler #Qwen3-14B # 大模型部署 # 私有化AI #vnstat #监控 #聊天小程序 #微信小程序 #小程序 #心理健康服务平台 #心理健康系统 #心理服务平台 #心理健康小程序 #microsoft #opencv #数据挖掘 #攻防演练 #Java web #漏洞 #红队 #nodejs #screen 命令 #asp.net #文心一言 #AI智能体 #pytorch #vp9 #驱动开发 #YOLO #ffmpeg #交互 #黑群晖 #虚拟机 #无U盘 #纯小白 #支付 #gitlab #1024程序员节 #SSH跳板机 # Python3.11 #练习 #基础练习 #数组 #循环 #九九乘法表 #计算机实现 #LVDS #高速ADC #DDR #东方仙盟 #dynadot #域名 #API限流 # 频率限制 # 令牌桶算法 #esb接口 #走处理类报异常 #华为云 #screen命令 #Gunicorn #WSGI #Flask #并发模型 #容器化 #Python #性能调优 #银河麒麟部署 #银河麒麟部署文档 #银河麒麟linux #银河麒麟linux部署教程 #蓝湖 #Axure原型发布 #管道Pipe #system V #ai #ai编程 #AIGC #课程设计 #机器人 #门禁 #梯控 #智能一卡通 #门禁一卡通 #消费一卡通 #智能梯控 #一卡通 #源代码管理 #超时设置 #客户端/服务器 #网络编程 #C# #AI 推理 #NV #uv #uvx #uv pip #npx #Ruff #pytest #leetcode #react native #react.js #昇腾 #数据结构 #ida #chrome #操作系统 #国产化OS #中间件 #MQTT协议 #C语言 #vivado license #CVE-2025-68143 #CVE-2025-68144 #CVE-2025-68145 #排序算法 #SSH # 批量管理 #语音识别 #ASR #SenseVoice #星图GPU #gitea #密码学 #可信计算技术 #智能体 #openHiTLS #TLCP #DTLCP #商用密码算法 #ONLYOFFICE #MCP 服务器 #laravel #ssl #tomcat # 目标检测 #prometheus #grafana #svn #证书 #服务器繁忙 #serverless #YOLO26 #目标检测 #RAID #RAID技术 #磁盘 #存储 # 双因素认证 # TensorFlow #web server #请求处理流程 #postgresql #连接数据库报错 #cursor #交通物流 #国产化 #elasticsearch #硬件工程 #智能家居 #pyqt #DNS #Spring AI #STDIO传输 #SSE传输 #WebMVC #WebFlux #redis #bootstrap #SPA #单页应用 #django #web3.py #scrapy #C #麒麟OS #信息与通信 #信号处理 #tcpdump #swagger #visual studio code #蓝牙 #LE Audio #BAP #链表 #puppeteer #mariadb #LangGraph #CLI #JavaScript #langgraph.json #安全威胁分析 #仙盟创梦IDE #paddleocr #动态规划 #负载均衡 #xlwings #Excel #wsl #dlms #dlms协议 #逻辑设备 #逻辑设置间权限 #nfs #iscsi #transformer #银河麒麟高级服务器操作系统安装 #银河麒麟高级服务器V11配置 #设置基础软件仓库时出错 #银河麒高级服务器系统的实操教程 #生产级部署银河麒麟服务系统教程 #Linux系统的快速上手教程 #spring cloud #spring #prompt #文件管理 #文件服务器 #sqlite #numpy #wordpress #雨云 #LobeChat #vLLM #GPU加速 #电气工程 #PLC #树莓派4b安装系统 #海外服务器安装宝塔面板 #翻译 #开源工具 #ansible #jdk #排序 #milvus #langchain #大模型开发 #ddos #系统架构 #大模型部署 #mindie #大模型推理 #创业创新 #业界资讯 #KMS激活 #计算机网络 #openlayers #bmap #tile #server #CSDN #maven #CosyVoice3 # 语音合成 #数据仓库 #windows11 #系统修复 #微信 #chatgpt #codex #x86_64 #数字人系统 #yum #三维 #3D #三维重建 #intellij-idea #信令服务器 #Janus #MediaSoup #其他 #rtsp #转发 #SQL注入主机 #webrtc #idm #万悟 #联通元景 #镜像 #Puppet # IndexTTS2 # TTS #健身房预约系统 #健身房管理系统 #健身管理系统 #ThingsBoard MCP #说话人验证 #声纹识别 #CAM++ # GPU租赁 # 自建服务器 #devops #遛狗 #bug #unix #HeyGem # 服务器IP访问 # 端口映射 #磁盘配额 #存储管理 #形考作业 #国家开放大学 #系统运维 #自动化运维 #DHCP #C++ UA Server #SDK #Windows #跨平台开发 # PyTorch # CUDA #STUN #turn #ICE #银河麒麟 #信创国产化 #达梦数据库 #eclipse #servlet #群晖 #excel #arm64 # ARM服务器 # 鲲鹏 #http头信息 #word #SSH复用 # 远程开发 #ci/cd #k8s #wpf #制造 #串口服务器 #Modbus #MOXA #GATT服务器 #蓝牙低功耗 #lucene #harmonyos #鸿蒙PC #GPU #AutoDL ##租显卡 #电脑 #散列表 #哈希算法 #树莓派 #温湿度监控 #WhatsApp通知 #IoT #MySQL #机器视觉 #6D位姿 #UOS #海光K100 #统信 #pdf #dba #mssql #数据安全 #注入漏洞 #结构体 #nvidia #TCP服务器 #开发实战 #全文检索 #openEuler #银河麒麟服务器系统 #远程桌面 #硬件 #Fun-ASR # 语音识别 # WebUI #可撤销IBE #服务器辅助 #私钥更新 #安全性证明 #双线性Diffie-Hellman #Kylin-Server #国产操作系统 #服务器安装 #密码 #Android16 #音频性能实战 #音频进阶 #firefox #safari #LoRA # RTX 3090 # lora-scripts #短剧 #短剧小程序 #短剧系统 #微剧 #hibernate #nosql #Docker #https #SSH公钥认证 # 安全加固 # ControlMaster #新人首发 #汽车 #目标跟踪 #PowerBI #企业 #VMware #VMWare Tool #windbg分析蓝屏教程 #jupyter #le audio #低功耗音频 #通信 #连接 #企业开发 #ERP #项目实践 #.NET开发 #C#编程 #编程与数学 #nmodbus4类库使用教程 #docker-compose #wireshark #网络安全大赛 #信息可视化 #IFix #c++20 # 远程连接 #CNAS #CMA #程序文件 #Buck #NVIDIA #算力 #交错并联 #DGX #内存治理 #googlecloud #IO #安全架构 #DAG #云服务器选购 #Saas #CPU #线程 #VibeVoice #gerrit #opc ua #opc #outlook #错误代码2603 #无网络连接 #2603 #Miniconda # 环境迁移 #实时检测 #卷积神经网络 #matplotlib #TTS私有化 # IndexTTS # 音色克隆 #iBMC #UltraISO #具身智能 #系统升级 #信创 #指针 #anaconda #虚拟环境 #SSH密钥 #GB28181 #SIP信令 #SpringBoot #视频监控 #WT-2026-0001 #QVD-2026-4572 #smartermail # GLM-TTS # 数据安全 #ETL管道 #RAG #向量存储 #数据预处理 #DocumentReader #xshell #host key #HarmonyOS APP #Emby #视频 #ip #arm开发 #Modbus-TCP #AI电商客服 # 大模型推理 #spring ai #oauth2 #数据可视化 #rtmp #系统管理 #服务 # 高温监控 #微PE # GLM # 服务连通性 #fs7TF #azure #llama #ceph #ROS # 局域网访问 # 批量处理 #ambari #arm #cosmic #挖矿 #Linux病毒 #网安应急响应 #LLM # 高并发 #uni-app #H5 #跨域 #发布上线后跨域报错 #请求接口跨域问题解决 #跨域请求代理配置 #request浏览器跨域 #数据恢复 #视频恢复 #视频修复 #RAID5恢复 #流媒体服务器恢复 #aws #npu #大剑师 #nodejs面试题 #muduo库 #华为od #华为机试 #Java #内网 #SSH跳转 # 网络延迟 #TTS #go #远程软件 # GPU集群 #Gateway #认证服务器集成详解 #游戏机 #服务器开启 TLS v1.2 #IISCrypto 使用教程 #TLS 协议配置 #IIS 安全设置 #服务器运维工具 #uniapp #合法域名校验出错 #服务器域名配置不生效 #request域名配置 #已经配置好了但还是报错 #uniapp微信小程序 #框架搭建 #UDP的API使用 #状态模式 #AI-native #Tokio #ESP32 # OTA升级 # 黄山派 #代理服务器 #rsync # 数据同步 #能源 #bash #blender #设计师 #图像处理 #游戏美术 #技术美术 #Socket #套接字 #I/O多路复用 #字节序 #html5 #weston #x11 #x11显示服务器 # Connection refused #研发管理 #禅道 #禅道云端部署 #计算几何 #斜率 #方向归一化 #叉积 #samba #teamviewer #RSO #机器人操作系统 #glibc #winscp #后端框架 #Apple AI #Apple 人工智能 #FoundationModel #Summarize #SwiftUI #大语言模型 #多线程 #嵌入式 #zabbix #claudeCode #content7 #深度优先 #DFS #集成学习 #跳槽 #工作 #sql注入 #odoo #fabric #Ubuntu #前端框架 #muduo #TcpServer #accept #高并发服务器 #.net #JNI #pxe #远程开发 #测评 #CCE #Dify-LLM #Flexus # 数字人系统 # 远程部署 #毕设 # TURN # NAT穿透 #MCP服务器注解 #异步支持 #方法筛选 #声明式编程 #自动筛选机制 #appche #版本控制 #Git入门 #开发工具 #代码托管 #rustdesk #p2p #媒体 #ftp #sftp #YOLO识别 #YOLO环境搭建Windows #YOLO环境搭建Ubuntu #LangFlow # 轻量化镜像 # 边缘计算 #free #vmstat #sar #OpenHarmony #springboot #知识库 #Discord机器人 #云部署 #程序那些事 #cpu #r语言 #mybatis #rocketmq #WinSCP 下载安装教程 #SFTP #FTP工具 #服务器文件传输 #Ansible # CosyVoice3 # 批量部署 #spine #TRO #TRO侵权 #TRO和解 #运维工具 #网络攻击模型 #进程 #进程创建与终止 #远程连接 #PN 结 #移动端h5网页 #调用浏览器摄像头并拍照 #开启摄像头权限 #拍照后查看与上传服务器端 #摄像头黑屏打不开问题 #服务器线程 # SSL通信 # 动态结构体 #RWK35xx #语音流 #实时传输 #node #超算中心 #PBS #lsf #企业微信 #报表制作 #职场 #用数据讲故事 #手机h5网页浏览器 #安卓app #苹果ios APP #手机电脑开启摄像头并排查 #语音生成 #服务器IO模型 #非阻塞轮询模型 #多任务并发模型 #异步信号模型 #多路复用模型 #系统安全 #selenium #ipmitool #BMC # 黑屏模式 # TTS服务器 #AI写作 #ollama #llm #领域驱动 #AI部署 # ms-swift #kmeans #聚类 #嵌入式编译 #ccache #distcc #文件IO #输入输出流 #lvs #工业级串口服务器 #串口转以太网 #串口设备联网通讯模块 #串口服务器选型 #embedding #IndexTTS2 # 阿里云安骑士 # 木马查杀 #入侵 #日志排查 #可再生能源 #绿色算力 #风电 #麦克风权限 #访问麦克风并录制音频 #麦克风录制音频后在线播放 #用户拒绝访问麦克风权限怎么办 #uniapp 安卓 苹果ios #将音频保存本地或上传服务器 #express #cherry studio #Node.js # child_process #人大金仓 #Kingbase #代理模式 #Spring AOP #KMS #slmgr #程序人生 #宝塔面板部署RustDesk #RustDesk远程控制手机 #手机远程控制 #铁路桥梁 #DIC技术 #箱梁试验 #裂纹监测 #四点弯曲 #多进程 #python技巧 #蓝桥杯 #若依 #GLM-4.6V-Flash-WEB # AI视觉 # 本地部署 #企业级存储 #网络设备 #iot #软件工程 #生信 #Smokeping #STDIO协议 #Streamable-HTTP #McpTool注解 #服务器能力 #策略模式 #pve #租显卡 #训练推理 #AI应用编程 # 自动化运维 #java大文件上传 #java大文件秒传 #java大文件上传下载 #java文件传输解决方案 #3d #bigtop #hdp #hue #kerberos #pencil #pencil.dev #设计 #zotero #WebDAV #同步失败 #轻量化 #低配服务器 #Anything-LLM #IDC服务器 #私有化部署 #前端开发 #EN4FE #大模型应用 #API调用 #PyInstaller打包运行 #服务端部署 #raid #raid阵列 #自由表达演说平台 #演说 #程序员创富 #Langchain-Chatchat # 国产化服务器 # 信创 #YOLOv8 # Docker镜像 #流程图 #论文阅读 #论文笔记 #图论 #国产开源制品管理工具 #Hadess #一文上手 #PyCharm # 远程调试 # YOLOFuse #okhttp #欧拉 #范式 #journalctl #epoll #Karalon #AI Test #麒麟 #Syslog #系统日志 #日志分析 #日志监控 #生产服务器问题查询 #日志过滤 #Autodl私有云 #深度服务器配置 # 水冷服务器 # 风冷服务器 #小艺 #鸿蒙 #搜索 #VoxCPM-1.5-TTS # 云端GPU # PyCharm宕机 #健康医疗 #儿童AI #图像生成 #Qwen #pjsip #openresty #lua #AI应用 #人脸识别sdk #视频编解码 #人脸识别 #图像识别 #AI生成 # outputs目录 # 自动化 #stl #漏洞修复 #IIS Crypto #高考 #工程实践 #SSH保活 #时序数据库 #everything #wps #elk #rabbitmq #Linux多线程 #esp32 arduino #决策树 #HistoryServer #Spark #YARN #jobhistory #Beidou #北斗 #SSR #ZooKeeper #ZooKeeper面试题 #面试宝典 #深入解析 #V11 #kylinos #ComfyUI # 推理服务器 #n8n解惑 #编程助手 #DIY机器人工房 #gpt #API #taro #软件 #本地生活 #电商系统 #商城 #高级IO #poll # GLM-4.6V-Flash-WEB # 显卡驱动备份 #模拟退火算法 #计算机毕业设计 #程序定制 #毕设代做 #课设 #源码 #简单数论 #埃氏筛法 #Playbook #AI服务器 #Hadoop #TCP #simulink #matlab #aiohttp #asyncio #异步 #信息安全 #信息收集 #内存接口 # 澜起科技 # 服务器主板 # 服务器迁移 # 回滚方案 #大模型入门 #homelab #Lattepanda #Jellyfin #Plex #Kodi #yolov12 #研究生life #开关电源 #热敏电阻 #PTC热敏电阻 #.netcore #文件传输 #电脑文件传输 #电脑传输文件 #电脑怎么传输文件到另一台电脑 #电脑传输文件到另一台电脑 #eureka # 模型微调 #mongodb #广播 #组播 #并发服务器 #nacos #银河麒麟aarch64 #智能体来了 #传统行业 #AI赋能 #uvicorn #uvloop #asgi #event #挖漏洞 #攻击溯源 #编程 #warp #企业存储 #RustFS #对象存储 #高可用 #notepad++ #es安装 #gpu #nvcc #cuda # AI部署 #材料工程 #数码相机 #智能电视 #TensorRT # 推理优化 #VMware创建虚拟机 #远程更新 #缓存更新 #多指令适配 #物料关联计划 #Coturn #TURN #m3u8 #HLS #移动端H5网页 #APP安卓苹果ios #监控画面 直播视频流 #Prometheus #Zabbix #语音合成 #二值化 #Canny边缘检测 #轮廓检测 #透视变换 #DooTask #log4j #Jetty # 嵌入式服务器 #Clawdbot #模块 #防毒面罩 #防尘面罩 #CVE-2025-61686 #路径遍历高危漏洞 #RXT4090显卡 #RTX4090 #深度学习服务器 #硬件选型 #音乐 #IntelliJ IDEA #Spring Boot #neo4j #NoSQL #SQL #net core #kestrel #web-server #asp.net-core #Llama-Factory #SMARC #ARM # 代理转发 # 跳板机 #echarts #postman # 服务器IP # 端口7860 #建筑缺陷 #红外 #数据集 #flutter #web服务器 #身体实验室 #健康认知重构 #系统思维 #微行动 #NEAT效应 #亚健康自救 #ICT人 # 公钥认证 #Reactor #云服务器 #个人电脑 #KMS 激活 # 智能运维 # 性能瓶颈分析 #空间计算 #原型模式 # 云服务器 #MC #MC群组服务器 #无人机 #戴尔服务器 #戴尔730 #装系统 #junit #BoringSSL #远程控制 #云计算运维 #I/O模型 #并发 #水平触发、边缘触发 #多路复用 #sqlserver #asp.net大文件上传 #asp.net大文件上传下载 #asp.net大文件上传源码 #ASP.NET断点续传 #asp.net上传文件夹 #asp.net上传大文件 #clickhouse #漏洞挖掘 #代理 #数据访问 #SSH别名 #CS2 #debian13 #agent #ai大模型 # 权限修复 #uip # HiChatBox # 离线AI #ui #X11转发 #b树 #SMTP # 内容安全 # Qwen3Guard #改行学it #平板 #零售 #智能硬件 #vncdotool #链接VNC服务器 #如何隐藏光标 #CTF #memory mcp #Cursor #FHSS #Deepoc #具身模型 #开发板 #未来 #插件 #开源软件 #NFC #智能公交 #服务器计费 #FP-增长 #算力建设 #飞牛nas #fnos #Proxmox VE #虚拟化 #smtp #smtp服务器 #PHP #idea #intellij idea #声源定位 #MUSIC # 远程访问 #Streamlit #AI聊天机器人 #tensorflow # 树莓派 # ARM架构 #memcache #ansys #ansys问题解决办法 #银河麒麟操作系统 #openssh #华为交换机 #信创终端 #处理器 #分布式数据库 #集中式数据库 #业务需求 #选型误 #智能体对传统行业冲击 #行业转型 #mtgsig #美团医药 #美团医药mtgsig #美团医药mtgsig1.2 #HarmonyOS #雨云服务器 #Minecraft服务器 #教程 #MCSM面板 #Socket网络编程 #chat # 服务器配置 # GPU # 串口服务器 # NPort5630 #Python办公自动化 #Python办公 #MinIO #sentinel #工程设计 #预混 #扩散 #燃烧知识 #层流 #湍流 #量子计算 #copilot #个人博客 #硬盘克隆 #DiskGenius # 键鼠锁定 #反向代理 #政务 #参数估计 #矩估计 #概率论 #adobe #powerbi #select #gmssh #宝塔 #1panel #Exchange #系统安装 #scikit-learn #随机森林 #静脉曲张 #腿部健康 #运动 #POC #问答 #交付 #AI Agent #开发者工具 #Minecraft #PaperMC #我的世界服务器 #边缘AI # Kontron # SMARC-sAMX8 #jetty #kong #Kong Audio #Kong Audio3 #KongAudio3 #空音3 #空音 #中国民乐 #计算机外设 #docker安装seata #ET模式 #非阻塞 #remote-ssh #SA-PEKS # 关键词猜测攻击 # 盲签名 # 限速机制 # IndexTTS 2.0 #全链路优化 #实战教程 #database #scanf #printf #getchar #putchar #cin #cout #OpenAI #故障 #优化 #多模态 #微调 #超参 #LLamafactory #产品经理 #就业 #vps #sglang #SSH Agent Forwarding # 容器化 #性能 #RAM #AI论文写作工具 #学术写作辅助 #论文创作效率提升 #AI写论文实测 #数字化转型 #实体经济 #商业模式 #软件开发 #数智红包 #商业变革 #创业干货 #AB包 #Go并发 #高并发架构 #Goroutine #系统设计 #Tracker 服务器 #响应最快 #torrent 下载 #2026年 #Aria2 可用 #迅雷可用 #BT工具通用 #交换机 #三层交换机 #高斯溅射 #UEFI #BIOS #Legacy BIOS #eBPF #云开发 #Harbor #AI智能棋盘 #Rock Pi S #边缘计算 #gateway #Comate #MinIO服务器启动与配置详解 #PTP_1588 #gPTP #C/C++ #c++高并发 #百万并发