跨程序通訊
跨程序通訊 (IPC) 允許隔離的進程安全地通訊,並且是構建更複雜應用程式的關鍵。
在以下指南中了解有關特定 IPC 模式的更多資訊
Tauri 使用一種特定的跨程序通訊風格,稱為非同步訊息傳遞,其中進程交換請求和響應,並使用一些簡單的數據表示形式進行序列化。對於任何具有 Web 開發經驗的人來說,訊息傳遞應該聽起來很熟悉,因為這種範例用於網際網路上的客戶端-伺服器通訊。
訊息傳遞是一種比共享記憶體或直接函數訪問更安全的技術,因為接收者可以自由地拒絕或丟棄請求,視情況而定。例如,如果 Tauri Core 進程確定請求是惡意的,它只會丟棄請求,而永遠不會執行相應的函數。
在下面,我們更詳細地解釋 Tauri 的兩個 IPC 原語 - 事件
和 命令
。
事件
事件是單向、發送後不管的 IPC 消息,最適合用於溝通生命週期事件和狀態更改。與命令不同,事件可以由前端和 Tauri Core 發出。
命令
Tauri 還在 IPC 消息之上提供了一個類似於 外部函數介面 的抽象1。 主要 API invoke
類似於瀏覽器的 fetch
API,並允許前端調用 Rust 函數、傳遞參數並接收數據。
由於此機制在底層使用類似 JSON-RPC 的協議來序列化請求和響應,因此所有參數和返回數據都必須可序列化為 JSON。
腳註
-
由於命令仍然在底層使用訊息傳遞,因此它們不像真正的 FFI 介面那樣存在相同的安全隱患。↩
© 2025 Tauri 貢獻者。CC-BY / MIT