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('http://localhost: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}]]