📜  Python -RPC JSON服务器

📅  最后修改于: 2020-11-06 06:36:32             🧑  作者: Mango


JSON或JavaScript对象表示法是一种轻量级的数据交换格式。人类易于阅读和书写。机器很容易解析和生成。与基于XML的常规RPC调用相比,基于JSON进行的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}]]