Python - RPC JSON 伺服器



JSON 或 JavaScript 物件表示法是一種輕量級資料交換格式。它易於人類閱讀和編寫。它易於機器解析和生成。基於 JSON 進行的 RPC 呼叫能夠比基於 XML 的普通 RPC 呼叫以更緊湊和有效的方式傳送資料。python 模組 jsonrpclib 能夠建立基於 JSON 的簡單伺服器和客戶端。

示例

在下面的示例中,我們建立一個簡單的 JSON 伺服器並在其中建立一個函式。此函式會將一個較大的列表分解為更小的列表,同時提到引數的長度以及引數本身。

# server program
from jsonrpclib.SimpleJSONRPCServer import SimpleJSONRPCServer

def findlen(*args):

	res = []
	for arg in args:
		try:
			lenval = len(arg)
		except TypeError:
			lenval = None
		res.append((lenval, arg))
	return res

def main():
	server = SimpleJSONRPCServer(('localhost', 1006))
	server.register_function(findlen)
	print("Start server")
	server.serve_forever()
if __name__ == '__main__':  
    main()



# Call by client
from jsonrpclib import Server
def main():
    conn = Server('https://:1006')
    print(conn.findlen(('a','x','d','z'), 11, {'Mt. Abu': 1602, 'Mt. Nanda': 3001,'Mt. Kirubu': 102, 'Mt.Nish': 5710}))
if __name__ == '__main__':
    main()

當我們執行上述程式時,得到以下輸出 −

[[4, [u'a', u'x', u'd', u'z']], [None, 11], [4, {u'Mt. Abu': 1602, u'Mt. Kirubu': 102, u'Mt. Nanda': 3001, u'Mt.Nish': 5710}]]
廣告