学习嵌入式的第三十三天-数据结构-(2025.7.25)服务器/多客户端模型
服务器/多客户端模型
循环服务器
while(1){ accept(); recv(); }
适用于简单任务,如基础Web服务器,但无法处理并发请求。
并发服务器
通过thread
或fork
实现多任务处理。需注意子进程/线程的资源回收,避免内存泄漏。
多路IO模型服务器
使用select
或epoll
实现高效的事件驱动模型,适合高并发场景,减少系统资源占用。
MQTT协议(消息队列遥测传输协议)
专为嵌入式或资源受限设备设计,特点包括:
- 低带宽、低功耗
- 传输可靠,适合移动设备或物联网场景
工作过程
涉及三个角色:
- 发布者:发送数据时必须携带主题名(Topic),数据发送至Broker。
- 订阅者:向Broker注册关心的主题名,Broker记录订阅关系。
- Broker(代理服务器):根据订阅链表匹配主题,向订阅者转发数据。
双向通信
订阅者可同时作为发布者,反之亦然。
软件安装方法
在线安装
sudo apt-get install <package_name>
本地安装
- 下载源码(如从
www.github.org
) - 生成配置与编译文件:
./configure
- 编译源码:
make
.so
)。 - 安装到系统目录:
sudo make install