我定義一個python xmlrpc
服務器如下(僅用於解釋的事情的目的近似示例):python xmlrpc對象是什麼類型?
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(...)
在這裏,我可以檢查如果device
是xmlrpclib.ServerProxy
與實例
isinstance(device, xmlrpclib.ServerProxy)
但是什麼是?我想檢查屬於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'
似乎您完全不理解XMLRPC實際在做什麼。爲什麼你應該在客戶端以透明的方式訪問服務器端的數據結構和類型? –
這不夠「類型(object_name)」? – Sibi