リモート呼び出しでは、リモート サーバーのオブジェクトとメソッドの呼び出しは、ローカル オブジェクトとメソッドの呼び出しと同様になります。これは、ネットワーク プログラミングによってこれらを隠すためです。リモート通話は分散システムの基礎です。
リモート呼び出しは一般に、リモート プロシージャ コール (RPC) とリモート メソッド呼び出し (RMI) の 2 つのタイプに分類されます。
RPC
RPC は関数レベルのリモート呼び出しであり、主に HTTP 経由でデータを送信します。データ形式には XML、JSON、シリアル化されたデータなどが含まれます。ここではPythonを使ってxml-rpcの例を作成します。 まずサーバー側のserver.pyを指定します:
from xmlrpclib import ServerProxy
if __name__ == '__main__':
s = ServerProxy("http://127.0.0.1:8080")
print s.add(3,4)
Wireshark を使用して、この期間中に渡されたデータがどのようなものであるかを確認します。 要求されたデータ:
printgreeting_maker.get_fortune(name)
入力する URI は、server2.py によって生成された URI です。 Pyro4.Proxy にgreeting_makerのuriを渡すことで、サーバー側でgreeting_makerとの接続が確立されたとみなして、greeting_makerのget_fortune()メソッドを呼び出すことができます。 name が letian の場合、printgreeting_maker.get_fortune(name) の結果は Hello, letian..