次のコードのように定義された単純なxmlrpcサーバーを作成しましょう。
from SimpleXMLRPCServer import SimpleXMLRPCServer
def add(x,y):
return x+y
server = SimpleXMLRPCServer(("localhost", 8000))
server.register_function(add, 'addthem')
server.register_function(add, 'add.numbers')
server.register_function(add, 'sum.two.numbers')
server.serve_forever()
経由で接続できます
import xmlrpclib
dev = xmlrpclib.ServerProxy("http://localhost:8000/RPC2")
オブジェクトを使用すると、サーバーdevの(単純化のために同じ)関数にアクセスできません。add
print dev.addthem(1,2)
print dev.add.numbers(1,2)
print dev.sum.two.numbers(1,2)
私の質問:それらの呼び出しの断片は何ですか?(私はdevのインスタンスだと思いますxmlrpclib.ServerProxy)とは何ですかsum、dev.sum(関数?呼び出し可能?クラス?インスタンス?)には何がありますか?何twoがdev.sum.two...
たとえば、次の構文
print dev.add
エラーが発生します
xmlrpclib.Fault: <Fault 1: '<type \'exceptions.Exception\'>:method "add.__str__" is not supported'>
それはいつも何かを印刷するべきではありませんか?と他の部分は 何ですか?dev.add