Python - 遠端過程呼叫



遠端過程呼叫 (RPC) 系統允許您使用與在本地庫中呼叫函式相同的語法來呼叫遠端伺服器上的可用函式。這在兩種情況下很有用。

  • 您可以利用來自多臺機器的處理能力使用 rpc,而無需更改呼叫遠端系統中程式的程式碼。
  • 處理所需的資料僅在遠端系統中可用。

因此,在 Python 中,我們可以將一臺機器視為伺服器,另一臺機器視為客戶端,客戶端將向伺服器發出呼叫以執行遠端過程。在我們的示例中,我們將使用本地主機並將其用作伺服器和客戶端。

執行伺服器

Python 語言自帶一個內建伺服器,我們可以將其作為本地伺服器執行。執行此伺服器的指令碼位於 Python 安裝的 bin 資料夾下,名為 classic.py。我們可以在 Python 提示符下執行它並檢查它是否作為本地伺服器執行。

python bin/classic.py

當我們執行上述程式時,我們得到以下輸出 -

INFO:SLAVE/18812:server started on [127.0.0.1]:18812

執行客戶端

接下來,我們使用 rpyc 模組執行客戶端以執行遠端過程呼叫。在下面的示例中,我們在遠端伺服器上執行 print 函式。

import rpyc
conn = rpyc.classic.connect("localhost")
conn.execute("print('Hello from Tutorialspoint')")

當我們執行上述程式時,我們得到以下輸出 -

Hello from Tutorialspoint

透過 RPC 進行表示式求值

使用上述程式碼示例,我們可以使用 Python 的內建函式透過 rpc 執行和評估表示式。

import rpyc
conn = rpyc.classic.connect("localhost")
conn.execute('import math')
conn.eval('2*math.pi')

當我們執行上述程式時,我們得到以下輸出 -

6.283185307179586
廣告