Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのXMLRPCサーバーおよびクライアントモジュール


XML-RPCプロトコルを使用して、独自のクロスプラットフォームで言語に依存しないサーバーを作成できます。SimpleXMLRPCServerを使用してSimpleXMLRPCServerインスタンスを作成し、着信要求をリッスンするように指示します。次に、いくつかの関数をサービスの一部として定義し、それらの関数を登録して、サーバーがそれを呼び出す方法を認識できるようにします。

サーバーの実行

以下の例では、SimpleXMLRPCServerインスタンスを使用してサーバーを作成し、いくつかの事前定義された関数とカスタム関数を登録します。最後に、サーバーを無限ループに入れて、リクエストを受信して​​応答します。

from xmlrpc.server import SimpleXMLRPCServer
from xmlrpc.server import SimpleXMLRPCRequestHandler
class RequestHandler(SimpleXMLRPCRequestHandler):
   rpc_paths = ('/RPC2',)
with SimpleXMLRPCServer(('localhost', 9000),
                        requestHandler=RequestHandler) as server:
   server.register_introspection_functions()
   # Register len() function;
   server.register_function(len)
   # Register a function under a different name
   @server.register_function(name='rmndr')
   def remainder_function(x, y):
      return x // y
   # Register a function under function.__name__.
   @server.register_function
   def modl(x, y):
      return x % y
   server.serve_forever()

上記のサーバーが起動すると、関数を参照して関数を呼び出すことができるクライアントプログラムからサーバーを呼び出すことができます。

クライアントの実行

import xmlrpc.client
s = xmlrpc.client.ServerProxy('https://localhost:9000')
print(s.len("Tutorialspoint"))
print(s.rmndr(12,5))
print(s.modl(7,3))
# Print list of available methods
print(s.system.listMethods())

出力

上記のコードを実行すると、次の結果が得られます-

14
2
1
['len', 'modl', 'rmndr', 'system.listMethods', 'system.methodHelp', 'system.methodSignature']

  1. Linux CentOS/RHELでのNFSサーバーとクライアントの構成

    ネットワークファイルシステム(NFS) は、ファイルとフォルダを共有するための分散ファイルシステムプロトコルです。 NFSは、リモートプロシージャプロトコル(ONC RPC)に基づいています。 NFSを使用すると、ネットワーク経由でリモートファイルシステムをマウントできます。デフォルトでは、NFSを使用する場合、データは暗号化されず、クライアントは認証されないことに注意してください(アクセスはIPによって制限される可能性があります)。 NFSは、サーバー側とクライアント側の両方で簡単に構成できます。この記事では、NFSサーバーをインストールして構成する方法を示してから、クライアントにNFS

  2. Pythonでの相関と回帰

    相関とは、2つのデータセット間の依存関係を含むいくつかの統計的関係を指します。線形回帰は、従属変数と1つ以上の独立変数の間の関係を確立するための線形アプローチです。単一の独立変数は線形回帰と呼ばれ、複数の独立変数は重回帰と呼ばれます。 相関 依存する現象の簡単な例としては、親と子孫の外見の相関関係、製品の価格と供給量の相関関係などがあります。seabornpythonライブラリで利用可能なアイリスデータセットの例を取り上げます。その中で、3種のアヤメの花のがく片と花びらの長さと幅の相関関係を確立しようとしています。見つかった相関関係に基づいて、ある種を別の種から簡単に区別する強力なモデルを作