跳到内容
Tauri

进程间通信

进程间通信 (IPC) 允许隔离的进程安全地通信,这是构建更复杂应用程序的关键。

在以下指南中了解有关特定 IPC 模式的更多信息

Tauri 使用一种特殊的进程间通信风格,称为异步消息传递,其中进程使用一些简单的数据表示形式序列化以交换 请求响应。对于任何具有 Web 开发经验的人来说,消息传递都应该很熟悉,因为这种范式用于互联网上的客户端-服务器通信。

消息传递比共享内存或直接函数访问更安全,因为接收者可以根据需要自由拒绝或丢弃请求。例如,如果 Tauri 核心进程确定请求是恶意的,它会简单地丢弃请求并且从不执行相应的函数。

下面,我们将更详细地解释 Tauri 的两个 IPC 原语 —— EventsCommands

事件是即发即弃的单向 IPC 消息,最适合用于通信生命周期事件和状态更改。与命令不同,事件可以由前端 Tauri 核心发出。

Diagram
在核心和 Webview 之间发送的事件。

Tauri 还在 IPC 消息之上提供了一个类似外部函数接口的抽象1。主要 API invoke 类似于浏览器的 fetch API,它允许前端调用 Rust 函数、传递参数并接收数据。

因为此机制在底层使用类似 JSON-RPC 的协议来序列化请求和响应,所以所有参数和返回数据都必须可序列化为 JSON。

Diagram
命令调用中涉及的 IPC 消息。
  1. 因为命令在底层仍然使用消息传递,所以它们不会像真正的 FFI 接口那样存在相同的安全陷阱。


© 2025 Tauri 贡献者。CC-BY / MIT