私は次のように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'