当前位置: 首页 > ds >正文

学习嵌入式的第三十三天-数据结构-(2025.7.25)服务器/多客户端模型

服务器/多客户端模型

循环服务器
while(1){ accept(); recv(); }
适用于简单任务,如基础Web服务器,但无法处理并发请求。

并发服务器
通过threadfork实现多任务处理。需注意子进程/线程的资源回收,避免内存泄漏。

多路IO模型服务器
使用selectepoll实现高效的事件驱动模型,适合高并发场景,减少系统资源占用。


MQTT协议(消息队列遥测传输协议)

专为嵌入式或资源受限设备设计,特点包括:

  • 低带宽、低功耗
  • 传输可靠,适合移动设备或物联网场景

工作过程
涉及三个角色:

  • 发布者:发送数据时必须携带主题名(Topic),数据发送至Broker。
  • 订阅者:向Broker注册关心的主题名,Broker记录订阅关系。
  • Broker(代理服务器):根据订阅链表匹配主题,向订阅者转发数据。

双向通信
订阅者可同时作为发布者,反之亦然。


软件安装方法

在线安装

sudo apt-get install <package_name>

本地安装

  1. 下载源码(如从www.github.org
  2. 生成配置与编译文件:
    ./configure
    

  3. 编译源码:
    make
    

    生成可执行文件或库文件(如.so)。
  4. 安装到系统目录:
    sudo make install
    

http://www.xdnf.cn/news/16464.html

相关文章:

  • SSRF_XXE_RCE_反序列化学习
  • ChatIm项目文件上传与获取
  • 前缀和-238-除自身以外数组的乘积-力扣(LeetCode)
  • 《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——6. 传统算法实战:用OpenCV测量螺丝尺寸
  • nginx一个域名下部署多套前端项目
  • GRE、MGRE实验
  • RK3568笔记九十三:基于RKNN Lite的YOLOv5目标检测
  • FreeMarker模板引擎
  • 【C++】C++11特性的介绍和使用(第三篇)
  • 【RHCSA 问答题】第 10 章 配置和保护 SSH
  • 航空发动机高速旋转件的非接触式信号传输系统
  • 技术赋能与营销创新:开源链动2+1模式AI智能名片S2B2C商城小程序的流量转化路径研究
  • 工具 | 解决 VSCode 中的 Delete CR 问题
  • 小程序的客服咨询(与企业微信建立沟通)
  • (React入门上手——指北指南学习(第一节)
  • LeetCode——1957. 删除字符使字符串变好
  • 力扣---------238. 除自身以外数组的乘积
  • Ruby 数据库访问 - DBI 教程
  • Android-广播详解
  • Go-Elasticsearch v9 安装与版本兼容性
  • Flask input 和datalist结合
  • 图论:Dijkstra算法
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现沙滩小人检测识别(C#代码UI界面版)
  • 【机器学习深度学习】LLamaFactory微调效果与vllm部署效果不一致如何解决
  • 手动开发一个串口调试工具(二):Qt 串口类基本认识与使用
  • 系统性提升大模型回复准确率:从 RAG 到多层 Chunk 策略
  • 人工智能论文辅导:Prompt Engineering(特征工程)
  • C++学习之深入学习模板(进阶)
  • 力扣 hot100 Day56
  • 深度学习入门(2)