进程间通信
进程间通信 (IPC) 允许隔离的进程安全地通信,这是构建更复杂应用程序的关键。
在以下指南中了解有关特定 IPC 模式的更多信息
Tauri 使用一种特殊的进程间通信风格,称为异步消息传递,其中进程使用一些简单的数据表示形式序列化以交换 请求 和 响应。对于任何具有 Web 开发经验的人来说,消息传递都应该很熟悉,因为这种范式用于互联网上的客户端-服务器通信。
消息传递比共享内存或直接函数访问更安全,因为接收者可以根据需要自由拒绝或丢弃请求。例如,如果 Tauri 核心进程确定请求是恶意的,它会简单地丢弃请求并且从不执行相应的函数。
下面,我们将更详细地解释 Tauri 的两个 IPC 原语 —— Events
和 Commands
。
事件是即发即弃的单向 IPC 消息,最适合用于通信生命周期事件和状态更改。与命令不同,事件可以由前端 和 Tauri 核心发出。
Tauri 还在 IPC 消息之上提供了一个类似外部函数接口的抽象1。主要 API invoke
类似于浏览器的 fetch
API,它允许前端调用 Rust 函数、传递参数并接收数据。
因为此机制在底层使用类似 JSON-RPC 的协议来序列化请求和响应,所以所有参数和返回数据都必须可序列化为 JSON。
-
因为命令在底层仍然使用消息传递,所以它们不会像真正的 FFI 接口那样存在相同的安全陷阱。↩
© 2025 Tauri 贡献者。CC-BY / MIT