跳转到内容
Tauri

进程间通信

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

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

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

消息传递是一种比共享内存或直接函数访问更安全的技术,因为接收者可以自由地拒绝或丢弃请求,因为它认为合适。 例如,如果 Tauri Core 进程确定某个请求是恶意的,它只会丢弃该请求,而永远不会执行相应的函数。

在下面,我们将更详细地解释 Tauri 的两个 IPC 原语 - 事件命令

事件

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

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

命令

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

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

Diagram
命令调用中涉及的 IPC 消息。

脚注

  1. 因为命令仍然在底层使用消息传递,所以它们不具有与真正的 FFI 接口相同的安全隐患。


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