rat_quickdns 0.2.4

A high-performance, feature-rich DNS client library with support for multiple transport protocols, load balancing, caching, and filtering
Documentation
# rat_quickmem Python 示例

本目录包含 rat_quickmem Python 绑定的使用示例。

## 文件说明

- `python_example.py` - 基础使用示例,展示编码/解码功能
- `security_test.py` - 安全特性测试,验证输入限制和错误处理

## 运行前准备

### 1. 构建 Python 绑定

```bash
# 进入 python 绑定目录
cd ../../python

# 使用 maturin 构建并安装
maturin develop

# 或者构建 wheel
maturin build --release
```

### 2. 安装依赖

```bash
pip install maturin
```

## 运行示例

### 基础使用示例

```bash
python python_example.py
```

这个示例展示了:
- 基本数据类型的编码/解码
- 复杂数据结构的处理
- 性能测试
- 错误处理

### 安全测试示例

```bash
python security_test.py
```

这个示例验证了:
- 数据大小限制
- 批量处理限制
- 恶意输入防护
- 内存安全保护

## 示例输出

运行示例后,你将看到类似以下的输出:

```
=== rat_quickmem Python 绑定示例 ===

--- 基础数据类型测试 ---
字符串编码/解码: Hello, World! -> 编码成功 -> Hello, World!
数字编码/解码: 42 -> 编码成功 -> 42
列表编码/解码: [1, 2, 3, 4, 5] -> 编码成功 -> [1, 2, 3, 4, 5]

--- 性能测试 ---
编码 1000 次,平均时间: 0.05ms
解码 1000 次,平均时间: 0.03ms

所有测试通过!
```

## 故障排除

### 导入错误

如果遇到 `ImportError: No module named 'rat_quickmem_py'`,请确保:

1. 已正确构建 Python 绑定
2. 在正确的 Python 环境中运行
3. 绑定库在 Python 路径中

### 构建错误

如果构建失败,请检查:

1. Rust 工具链是否正确安装
2. Python 开发头文件是否安装
3. maturin 版本是否兼容

### 运行时错误

如果运行时出现错误,请检查:

1. 输入数据是否符合限制
2. 内存是否充足
3. 权限是否正确

## 扩展示例

你可以基于这些示例创建自己的应用:

```python
import rat_quickmem_py as rmem

# 自定义数据处理
def process_data(data):
    try:
        # 编码数据
        encoded = rmem.encode(data)
        print(f"编码后大小: {len(encoded)} bytes")
        
        # 解码数据
        decoded = rmem.decode(encoded)
        return decoded
    except Exception as e:
        print(f"处理失败: {e}")
        return None

# 使用示例
result = process_data({"name": "Alice", "age": 30})
print(f"处理结果: {result}")
```

## 更多信息

- [rat_quickmem 主文档]../../README.md
- [Python 绑定文档]../../python/README.md
- [安全指南]../../SECURITY.md