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

服务器/多客户端模型

循环服务器
while(1){ accept(); recv(); }

适用于简单任务,如基础Web服务器,但无法处理并发请求。

并发服务器

通过thread或fork实现多任务处理。需注意子进程/线程的资源回收,避免内存泄漏。

多路IO模型服务器

使用select或epoll实现高效的事件驱动模型,适合高并发场景,减少系统资源占用。


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

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

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

工作过程

涉及三个角色:

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

双向通信

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


软件安装方法

在线安装

bash 复制代码
sudo apt-get install <package_name>

本地安装

  1. 下载源码(如从www.github.org)

  2. 生成配置与编译文件:

    bash 复制代码
    ./configure
  3. 编译源码:

    bash 复制代码
    make

    生成可执行文件或库文件(如.so)。

  4. 安装到系统目录:

    bash 复制代码
    sudo make install
相关推荐
蜗牛互联网1 小时前
Python Agent工具调用的白名单、参数校验与审批门禁
java·服务器·前端·人工智能·后端·python
Shaoshing1 小时前
前缀和与差分
java·数据结构·算法·前缀和·差分
mmmmath_31 小时前
LeetCode.429.N叉树的层序遍历
数据结构·leetcode
小HANN1 小时前
华为云企业网站上云实战|从零搭建高可用WordPress全站架构(ECS+RDS+ELB+弹性伸缩+云监控闭环)
linux·运维·服务器·经验分享
li星野2 小时前
5 TYPES OF ADVERBS — One-Page Notes
学习
星恒随风2 小时前
Linux库的底层原理:ELF文件格式、静态链接、程序加载、虚拟地址空间与GOT/PLT详解
linux·运维·笔记·学习·状态模式
罗西的思考2 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 — (7)— 混合机制
笔记·学习
starsky762382 小时前
Agent学习——上下文工程(三)
学习
suhan3 小时前
【数据结构】三、栈和队列:6.链队列、双端队列、队列的应用(树的层次遍历、广度优先BFS、先来先服务FCFS)
数据结构·后端·算法
suhan3 小时前
【数据结构】三、栈和队列:5.顺序队列(循环队列)(初始化,判空判满,入队,出队,实例)
数据结构·后端·算法