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

学习嵌入式的第三十三天-数据结构-(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.lryc.cn/news/600543.html

相关文章:

  • 服务器生成图片
  • 四大主流AI Agent框架选型梳理
  • Linux726 raid0,raid1,raid5;raid 创建、保存、停止、删除
  • haproxy配置详解
  • Node.js 模拟 Linux 环境
  • 配置DNS正反向解析
  • Spark-TTS 使用
  • oracle数据库表空间碎片整理
  • 字节跳动正式开源AI智能体开发平台Coze
  • flink查看taskManager日志
  • 【MySQL】深入浅出事务:保证数据一致性的核心武器
  • Qt 与 WebService 交互开发
  • 实现网页访问/接口调用KernelMemory
  • ACOT Buck的dc 精度问题及稳定性
  • HTML5 新特性:MutationObserver 详解
  • 最小生成树:Kruskal与Prim算法
  • C#其他知识点
  • 前端组件梳理
  • mount: /mnt/sd: wrong fs type, bad option, bad superblock on /dev/mmcblk1
  • 嵌入式硬件篇---有线串口通信问题
  • GitHub的免费账户的存储空间有多少?
  • PHP语法高级篇(六):面向对象编程
  • vue子组件关闭自己的方式(事件触发)
  • React入门学习——指北指南(第三节)
  • Netty中DefaultChannelPipeline源码解读
  • 「iOS」——内存五大分区
  • 【C语言】深入理解C语言中的函数栈帧:从底层揭秘函数调用机制
  • RabbitMQ--消息丢失问题及解决
  • 【Vue2】结合chrome与element-ui的网页端条码打印
  • GRE和MGRE综合实验