私は次のようにPythonxmlrpcサーバーを定義します(説明のみを目的としたおおよその例):
from SimpleXMLRPCServer import SimpleXMLRPCServer
server = SimpleXMLRPCServer(('localhost', 8000))
server.register_function(foo, "serial.send")
server.serve_forever()
次にxmlrpc、次のようなクライアントを使用できます
import xmlrpclib
device = xmlrpclib.ServerProxy("http://localhost:8000/RPC2")
device.serial.send(...)
ここで、 withdeviceのインスタンスかどうかを確認できますxmlrpclib.ServerProxy
isinstance(device, xmlrpclib.ServerProxy)
しかし、何device.serialですか?device.serialが に属していることを確認したいのですがxmlrpc、たとえば、 などではありませserialんsocket。
ここに私が確認したいものの具体的な例があります:
def foo(x):
if isinstance(x, ...):
print("xmlrpc access")
else:
print("direct access")
foo(device.serial) # expected output: 'xmlrpc access'
foo(serial.Serial(..)) # expected output: 'direct access'
foo(socket.Socket(...)) # expected outcome: 'direct access'