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

服务器/多客户端模型

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

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

并发服务器

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

多路IO模型服务器

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


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
相关推荐
执笔论英雄17 分钟前
【大模型推理】ScheduleBatch 学习
java·spring boot·学习
Code_Shark18 分钟前
AtCoder Beginner Contest 424 题解
数据结构·c++·算法·数学建模·青少年编程
CS创新实验室24 分钟前
深入解析快速排序(Quicksort):从原理到实践
数据结构·算法·排序算法·快速排序
海星船长丶44 分钟前
Chrony服务器同步时间服务器实验
运维·服务器
AL流云。1 小时前
学习Docker前提:多环境安装Docker
学习·docker·eureka·1024程序员节
yeshihouhou1 小时前
树 B树和B+树
数据结构
大数据张老师1 小时前
数据结构——B+树的基本概念
数据结构·1024程序员节
cliproxydaili1 小时前
Cliproxy与Adspower指纹浏览器:跨境业务安全与效率的双重引擎
运维·服务器·安全
草莓工作室1 小时前
数据结构12:二叉树的API及其实现
c语言·数据结构·二叉树
2301_803554522 小时前
Http学习
网络协议·学习·http