跳到内容
Tauri

进程间通信

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

通过以下指南了解关于特定 IPC 模式的更多信息

Tauri 使用一种称为异步消息传递的特殊进程间通信方式,进程通过简单的序列化数据表示来交换请求响应。对于有 Web 开发经验的人来说,消息传递的概念应该很熟悉,因为这种范式正是互联网上客户端与服务器通信所使用的。

相比于共享内存或直接函数访问,消息传递是一种更安全的技术,因为接收方可以自由地根据需要拒绝或丢弃请求。例如,如果 Tauri 核心进程判定某条请求是恶意的,它只需丢弃该请求且永远不会执行对应的函数。

下面,我们将详细介绍 Tauri 的两种 IPC 原语——事件 (Events)命令 (Commands)

事件是“即发即弃”的单向 IPC 消息,最适合用于传达生命周期事件和状态变更。与命令不同,事件既可以由前端触发,也可以由 Tauri 核心触发。

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

Tauri 还提供了一种基于 IPC 消息的类似于外部函数接口 (FFI) 的抽象1。其核心 API invoke 类似于浏览器的 fetch API,允许前端调用 Rust 函数、传递参数并接收数据。

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

Diagram
命令调用中涉及的 IPC 消息。
  1. 由于命令底层仍然使用消息传递,因此它们不会像真正的 FFI 接口那样存在安全隐患。


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