TpPipe 类
V0.2.1TpUtils
2025-11-14
介绍
命名管道封装类,用于进程间通信(IPC) 此类封装了Unix/Linux命名管道(FIFO)的创建、打开、读写和关闭操作。 它支持以阻塞模式进行读写,并提供了简单的消息序列化格式(长度+数据)。
基础信息
| 头文件: | include <TpPipe.h> |
|---|---|
| Cmake: | None |
| 发布版本: | V0.2.1 |
| 继承类: | |
| 派生类: |
Public 类型
struct TpPipe::PipeData
| 类型 | 名称 | 描述 |
|---|---|---|
| TpString | topic | 消息主题 |
| TpVector<char> | data | 消息负载数据 |
enum TpPipe::Mode
| 名称 | 值 | 描述 |
|---|---|---|
| Read | 0 | 以只读模式打开管道,用于接收数据 |
| Write | 1 | 以只写模式打开管道,用于发送数据 |
Public 成员函数
| TpPipe(const TpString &pipePath, Mode mode, bool isBlock=false) | 构造函数,创建或打开一个命名管道 | |
|---|---|---|
| ~TpPipe() | 析构函数,自动关闭管道文件描述符 | |
| send(const TpString &topic, const char *data, uint32_t dataLength) | 向管道发送一条消息 | |
| PipeData | recv() | 从管道接收一条消息 |
成员函数说明
TpPipe::TpPipe(const TpString &pipePath, Mode mode, bool isBlock=false)
构造函数,创建或打开一个命名管道...
构造函数,创建或打开一个命名管道
参数:pipePath: 管道的文件系统路径
参数:mode: 管道模式(读或写)
参数:isBlock: 是否为阻塞模式;以阻塞模式打开管道。读取端打开时会阻塞直到写入端也被打开,反之亦然。
参数:std::system_error: 当管道创建或打开失败时抛出
TpPipe::~TpPipe()
析构函数,自动关闭管道文件描述符...
析构函数,自动关闭管道文件描述符
void TpPipe::send(const TpString &topic, const char *data, uint32_t dataLength)
向管道发送一条消息...
向管道发送一条消息
参数:topic: 消息主题
参数:data: 消息数据指针
参数:dataLength: 消息数据长度
参数:std::system_error: 当写入操作失败时抛出
PipeData TpPipe::recv()
从管道接收一条消息...
从管道接收一条消息
返回值:包含主题和数据的结构体
